$CHILD_ERROR
Данная перменная содержит статус завершения таких процессов как: закрытие pipe, завершение функций system(), wait() и `...`.
$!
$ERRNO
$OS_ERROR
В числовом контексте возвращает код ошибки errno.
В строковом – строку сообщения об ошибке. Можно принудительно присвоить этой перменной код ошибки что бы получить системное сообщение для данного кода или установить код завершения для функции die().
$@
$EVAL_ERROR
Сообщение об ошибке последней команды eval().
$$
$PID
$PROCESS_ID
Номер текущего процесса.
$<
$UID
$REAL_USER_ID
Реальный UID текущего процесса.
$>
$EUID
$EFFECTIVE_USER_ID
Эффективный UID текущего процесса.
$(
$GID
$REAL_GROUP_ID
Реальный GID текущего процесса.
$)
$EGID
$EFFECTIVE_GROUP_ID
Эффективный GID текущего процесса.
$O
$PROGRAM_NAME
Имя файла программы. Если этой переменной присвоить какое нибудь значение то его можно видеть в команде ps, что удобно для контроля за состоянием программы.
$[
Номер первого элемента массива или символа строки. Значение по умолчанию – 0.
$]
$PERL_VERSION
Строка сообщение версии Перл. Печатается по команде perl -v Применяется в программе для определения рабочей версии Перл. В числовом контексте это номер версии плюс номер модификации / 1000.
$^D
$DEBUGGING
Текущее значение ключа отладки '-D'.
$^F
$SYSTEM_FD_MAX
Номер максимального системного описателя файлов (system file descriptor). Обычно это 2.
$^I
$INPLACE_EDIT
Текущее значение inplace-edit возможности. Для отключения используйте undef.
$^P
$PERLDB
Внутренний флаг отладки. Применяется для того что бы отладчик не отслеживал самого себя.
$^T
$BASETIME
Время в секундах с начала 1970 года старта текущей программы.
$^W
$WARNING
Значение флага '-w'. true -если включено и false – выключено.
$^X
$EXECUTABLE_NAME
Команда запуска Перл. Аналогично argv[0] в С.
$ARGV
Имя текущего файла читаемого оператором '<>'.
@ARGV
Массив параметров строки запуска программы. Внимание! @#ARGV – меньше количества параметров на 1 т.к. $ARGV[0] это первый параметр (не имя программы).
@INC
Список директорий диска которые просматривает Перл для выполнения команд do, require или use.
%INC
Этот хеш содержит имена директорий для имен использованных файлов командами do или require. Ключ – имя файла, а значение – директория.
$ENV{выражение}
Хеш %ENV содержит значения переменных окружения. Изменение этих значений вызывает изменение окружения для процессов потомков.
$SIG{выражение}
Хеш %SIG содержит имена подпрограмм для системных сигналов таких как INT, QUIT, PIPE, ... Значение 'DEFAULT' – для системной обработки. 'IGNORE' – игнорировать данный сигнал.
* Регулярные выражения (шаблоны) *
В данной главе описывается синтаксис регулярных выражений. Чаще всего в Перл они используюстя в операторах поиска и замены таких как s// m/ операторах связки =~ или != и т.д.
Как правило все эти операторы имеют схожие опции такие как:
i – не различать строчные и заглавные буквы.
m – считать строку многострочной.
s – однострочная строка.
x – расширенный синтаксис ( использование пробелов и комментариев)
Обычно все эти опции обозначают как '/x'. Их можно использовать даже внутри шаблонов, используя новую конструкцию (?...)
Регулярные выражения или шаблоны (pattern) то же самое что и regexp процедуры в Юниксе. Выражения и синтаксис заимствован из свободно распространяемых процедур V8 Генри Спенсера (Henry Spencer) там же они подробно и описаны.
В шаблонах используются следующие метасимволы (символы обозначающие группы других символов) часто называемых egrep – стандартом:
– считать следующий метасимвол как обычный символ.
^ – начало строки
. – один произвольный символ. Кроме ' ' – конец строки.