| 
|  | Автоматизация объявления переменных в Perl при использовании strict (доп. ссылка 1) | Автор: Sokolov Alexey 
[комментарии] |  |  | Мне требовалось переписать мой же проект, написанный на Perl, с использованием "use strict". 
 Было лень объявлять все переменные вручную, т.к. их было чертовски много, посему я решил сей процесс 
 автоматизировать. Это конечно не совсем правильно, однако я всё равно весь результат потом тщательно проанализировал. ...
 [Слишком большой объем текста. Скрыт. Для просмотра см. продолжение]
 
 |  |  |  |  |  | 
| 
|  | Пример использования Tie для ассоциирования функции с хешем. | Автор: lw 
[обсудить] |  |  |    use Tie::Sub;
   tie my %sub, 'Tie::Sub', sub{sprintf '%04d', shift};
   print "See $sub{4} digits.";
 |  |  |  |  |  | 
| 
|  | Как узнать тип ссылочной переменной в Perl | [комментарии] |  |  | Иногда нужно узнать на массив, хэш или скаляр указывает ссылка.
ref возвращает строковый идентификатор типа ссылки (SCALAR, ARRAY, HASH, CODE, REF, GLOB, LVALUE) 
или пустое значение для обычных переменных. Например:
   if (ref($r) eq "HASH") {
         print "Хэш\n";
   } elsif (ref($r) eq "ARRAY"){
         print "Массив\n";
   }
 |  |  |  |  |  | 
| 
|  | Манипулирование файловыми хэндлерами в Perl (доп. ссылка 1) | [обсудить] |  |  | Пример хранение дескрипторов в хэше: ...
 [Слишком большой объем текста. Скрыт. Для просмотра см. продолжение]
 
 |  |  |  |  |  | 
| 
|  | Как в Perl оптимально заменить символы в строке или разбить строку на части | [комментарии] |  |  | При работе с большими строками нужно избегать внутреннего копирования строк, 
которое происходит при использоании регулярных выражений или оператора split.
Для разбиеная строки вида "small_begin:big_end" на две подстроки используем:
   my $pos=index($str, ':');
   my $begin_str = substr($str, 0, $pos,""); 
   # в $str остается только big_end часть, в $begin_str - "small_begin:"
Соответсвенно, для замены символов удобно использовать:
    substr(строка, начало замены, число заменяемых символов, блок на который заменяем);
 |  |  |  |  |  | 
|  | 
| 
|  | Как написать обработчик сигнала на Perl | [обсудить] |  |  | sub pipe_sig{
    return 0;
};
$SIG{'PIPE'} = \&pipe_sig;
 |  |  |  |  |  | 
|  | 
|  |