Описанные в данной главе переменные имеют в Perl специальные значения.
Они обозначаются несколько непривычно для "глаза" программистов,
т.к. состоят обычно только из двух символов, причем первый это '$'
символ, с которого начинаются имена всех переменных, и произвольный часто
не буквенно-цифровой символ. Если вы хотите пользоваться их "нормальными"
буквенными синонимами, то вам нужно указать в начале программы:
Точно так же если вы захотите пользоваться переменными и методами
текущего указателя файлов вы можете написать:
Ниже приводятся имена как в короткой, так и в длинной (словесной) форме.
Некоторые из встроенных переменных имеют доступ только на чтение,
поэтому изменить их значение просто невозможно.
$_ Переменная - по умолчанию для операторов ввода и поиска.
То есть если в качестве аргумента не указана никакая переменная, то
используется именно эта.
$цифра
Содержит найденную подстроку в последнем поиске, когда
шаблон содержит метасимволы в круглых скобках. Цифра в данном
случае, это номер скобок. Первая подстрока имеет номер 1.
$& Найденная подстрока в последнем поиске по шаблону.
$`
Подстрока, предшествующая найденной подстроке.
$' Подстрока, последующая за найденной подстрокой.
$+ Подстрока, найденная в поиске с выбором по "или".
$* Если значение этой переменной установить равным 1, то
переменная, в которой осуществляется поиск, будет считаться многострочной,
т.е. содержащей символы '\n' - перевод строки. Если значение равно 0,
то переменная считается однострочной. В Perl версии 5 и выше не рекомендуется
использовать эту переменную.
$. Номер прочитанной строки последнего оператора ввода.
Закрытие файла вызывает очистку значения этой переменной.
$/ Символ - признак конца входной строки. По умолчанию это '\n'
$| Если присвоить этой переменной ненулевое значение, то будет
сброс буфера вывода после каждой операции вывода. Значение по умолчанию - 0
$, Символ, добавляемый оператором print после каждого элемента
из списка параметров.
$\ Символ, добавляемый print после вывода всех параметров.
$" Аналогичен "$,", но добавляется после каждого элемента массива,
указанного в "....".
$; Символ - разделитель для эмуляции многомерных массивов в хеш
массивах. По умолчанию '\034'.
$# Формат по умолчанию для вывода чисел.
$% Формат по умолчанию для вывода номеров страниц.
$= Длина одной страницы. По умолчанию 60 строк.
$- Количество оставшихся строк на странице.
$~ Имя формата текущего вывода. По умолчанию имя указателя.
$^ Имя текущего формата для заголовка страницы.
$: Символы переноса строки для многострочных полей. В строке
формата такие поля начинаются символом '^'. По умолчанию '\n-'.
$^L Символ перевода формата ( смены листа). По умолчанию '\f'.
$^A Текущее значение аккумулятора функции write() для format().
Значение этой переменной можно увидеть только при использовании
функции formline(), т.к. write() очищает ее после каждого вывода.
$? Данная переменная содержит статус завершения таких процессов
как: закрытие pipe, завершение функций system(), wait() и `...`.
$! В числовом контексте возвращает код ошибки errno.
В строковом - строку сообщения об ошибке. Можно принудительно
присвоить этой переменной код ошибки, что бы получить системное
сообщение для данного кода или установить код завершения для
функции die().
$@ Сообщение об ошибке последней команды eval().
$$ Номер текущего процесса.
$< Реальный UID текущего процесса.
$> Эффективный UID текущего процесса.
$(
$GID Реальный GID текущего процесса.
$) Эффективный GID текущего процесса.
$O Имя файла программы. Если этой переменной присвоить какое-нибудь значение, то его можно видеть в команде ps, что удобно для
контроля за состоянием программы.
$[
Номер первого элемента массива или символа строки.
Значение по умолчанию - 0.
$] Строка - сообщение версии Perl. Печатается по команде perl -v
Применяется в программе для определения рабочей версии Perl.
В числовом контексте это номер версии плюс номер модификации / 1000.
$^D Текущее значение ключа отладки '-D'.
$^F Номер максимального системного описателя файлов (system file
descriptor). Обычно это 2.
$^I Текущее значение inplace-edit возможности.
Для отключения используйте undef.
$^P Внутренний флаг отладки. Применяется для того, чтобы отладчик
не отслеживал самого себя.
$^T Время в секундах с начала 1970 года старта текущей программы.
$^W Значение флага '-w'. true -если включено и false - выключено.
$^X Команда запуска Perl. Аналогично argv[0] в С.
$ARGV
Имя текущего файла, читаемого оператором '<>'.
@ARGV
Массив параметров строки запуска программы.
Внимание! @#ARGV - меньше количества параметров на 1, т.к.
$ARGV[0] это первый параметр (не имя программы).
@INC
Список директорий диска, которые просматривает Perl
для выполнения команд do, require или use.
%INC
Этот хеш содержит имена директорий для имен использованных
файлов командами do или require. Ключ - имя файла, а значение - директория.
$ENV{выражение}
Хеш %ENV содержит значения переменных окружения. Изменение
этих значений вызывает изменение окружения для процессов потомков.
$SIG{выражение}
Хеш %SIG содержит имена подпрограмм для таких системных
сигналов как INT, QUIT, PIPE, ...
Значение 'DEFAULT' - для системной обработки.
'IGNORE' - игнорировать данный сигнал.
Встроенные переменные Perl.
use English;
use FileHandle;
после этого можно просто писать:
метод указатель выражение
или
указатель -> метод(выражение)
$ARG
$MATCH
$POSTMATCH
$LAST_PAREN_MATCH
$MULTILINE_MATCHING
$INPUT_LINE_NUMBER
$NR
$RS
$INPUT_RECORD_SEPARATOR
$OUTPUT_AUTOFLUSH
$OFS
$OUTPUT_FIELD_SEPARATOR
$ORS
$OUTPUT_RECORD_SEPARATOR
$LIST_SEPARATOR
$SUBSEP
$SUBSCRIPT_SEPARATOR
$OFMT
$FORMAT_PAGE_NUMBER
$FORMAT_LINES_PER_PAGE
$FORMAT_LINES_LEFT
$FORMAT_NAME
$FORMAT_TOP_NAME
$FORMAT_LINE_BREAK_CHARACTERS
$FORMAT_FORMFEED
$ACCUMULATOR
$CHILD_ERROR
$ERRNO
$OS_ERROR
$EVAL_ERROR
$PID
$PROCESS_ID
$UID
$REAL_USER_ID
$EUID
$EFFECTIVE_USER_ID
$REAL_GROUP_ID
$EGID
$EFFECTIVE_GROUP_ID
$PROGRAM_NAME
$PERL_VERSION
$DEBUGGING
$SYSTEM_FD_MAX
$INPLACE_EDIT
$PERLDB
$BASETIME
$WARNING
$EXECUTABLE_NAME