"Дмитрий Леонов. Использование Perl в интернет-технологиях" - читать интересную книгу автора

программирования, обработки текстов и т.п.


Основы языка: скаляры, массивы, хэши, ссылки
Perl-программа представляет собой файл, содержащий набор
Perl-операторов, и начинающийся со строчки вида #!/usr/bin/perl ,
указывающей путь до интерпретатора Perl. Это справедливо для Unix-систем,
требующих, кроме того, установки бита исполнения в атрибутах данного файла,
для windows-реализаций подобная строчка необязательна, но желательна из
соображений переносимости (Apache/Win32, к примеру, не сможет запустить
CGI-скрипт с некорректным путем до интерпретатора).
Синтаксис языка очень похож на синтаксис C, но с незначительными
исключениями. Точки входа в виде функции с предопределенным именем нет,
переменные по умолчанию имеют глобальную область видимости и не должны быть
описаны перед использованием, что позволяет быстро "слепить" работающую
программу, которую практически невозможно поддерживать. Так что хорошим
решением все же является использование функций и описание переменных перед
использованием, а заодно и использование директивы use strict, не
позволяющей программисту забыть о подобных мелочах. Параметры встроенных
функций могут заключаться в круглые скобки, а могут и не заключаться, так
что их использование - лишь вопрос стиля, и следующие строчки эквивалентны:
print "Hello, World\n";
print ("Hello, World\n");
Комментарием служит символ #, его действие распространяется до конца
строки. Многострочных комментариев нет.
Скалярные величины в Perl бывают двух типов - числового и строкового.
Для всех чисел используется одно и то же внутреннее представление - число с
плавающей точкой двойной точности (то, что компилятор С, которым
компилировался Perl, понимал под double). Строки представляют собой
последовательности символов, но не является массивом байтов и не
ограничивается каким-то специальным символом типа нулевого, как это
происходит в С. По мере необходимости осуществляется преобразование из
одного типа в другой - в зависимости от контекста строка может превратиться
в число и наоборот:
print "2"*2; # выводит 4
Имя скалярной переменной всегда начинается с символа $:
$a = 1;
Скалярная величина может быть определенной и неопределенной, в
последнем случае ее значение равно undef. В строковом контексте значение
undef интерпретируется как пустая строка "", для проверки определенности
переменной следует пользоваться функцией defined. При использовании в
логических операциях ложными считаются число 0 и строки "" и "0".
Строки могут записываться с использованием одинарных и двойных кавычек.
При использовании одинарных кавычек их содержимое используется как есть:
print '12\n$a'; # печатает строку 12\n$a
При использовании двойных кавычек происходит так называемая
интерполяция переменных и спецсимволов:
print "12\n$a"; # печатает 12, делает перевод строки, печатает значение
переменной $a
Если в такой строке необходимо предотвратить подстановку значения