Описанные в данной главе переменныые имеют в
Перл специальные значения. Они обозначаются несколько
непривычно для "глаза" программистов т.к. состоят обычно
только из дву символов причем первый это '$' символо с
которого начинаются имена всех переменных и произвольный часто
не буквенно-цифровой символ. Если вы хотите пользоваться их
"нормальными" буквенными синонимами то вам нужно указать в
начале программы:
use English;
Точно так же если вы захотите пользоваться
переменными и методами текущего указателя файлов вы можете
написать:
use FileHandle;
после этого можно просто писать:
метод указатель выражение
или
указатель -> метод(выражение)
Ниже приводятся имена как в короткой так и в
длинной (словесной) форме. Некоторые из встроенных переменных
имеют доступ тоько на чтение поэтому изменить их значение
просто не возможно.
$_
$ARG
Переменная - по умолчанию для
операторов ввода и поиска. То есть если в качестве аргумента
не указана никакая переменная то используется именно эта.
$цифра
Содержит найденные подстроку в последнем
поиске, когда шаблон содержит метасимволы в круглых скобках.
Цифра в данном случае это номер скобок. Первая подстрока имеет
номер 1.
$&
$MATCH
Найденная подстрока в последнем поиске по
шаблону.
$`
Подстрока предшевствующая найденной
подстроке.
$'
$POSTMATCH
Подстрока последующая за найденной
подстрокой.
$+
$LAST_PAREN_MATCH
Подстрока найденная в поиске с выбором по
"или".
$*
$MULTILINE_MATCHING
Если значение этой переменной установить
равным 1 то переменная в которой осуществляется поиск будет
считаться многосторочной т.е. содержащей символы '\n' -
перевод строки. Если значеие равно 0 то переменная считается
однострочной. В Перл версии 5 и выше не рекомендуестя
использовать эту переменную.
$.
$INPUT_LINE_NUMBER
$NR
Номер прочитанной строки последнего оператора
ввода. Закрытие файла вызывает очистку значения этой
переменной.
$/
$RS
$INPUT_RECORD_SEPARATOR
Символ - признак конца входной строки. По
умолчанию это '\n'
$|
$OUTPUT_AUTOFLUSH
Если присвоить этой переменной не нулевое
значение то будет сброс буфера вывода после каждой операции
вывода. Значение по умолчанию -0
$,
$OFS
$OUTPUT_FIELD_SEPARATOR
Символ добавляемый оператором print после
каждого элемента из списка параметров.
$\
$ORS
$OUTPUT_RECORD_SEPARATOR
Символ добавляемый print после вывода всех
параметров.
$"
$LIST_SEPARATOR
Анологичен "$," но добавляется после каждого
элемента массива указаноого в "....".
$;
$SUBSEP
$SUBSCRIPT_SEPARATOR
Символ - разделитель для эмуляции многомерных
массивов в хеш массивах. По умолчанию '\034'.
$#
$OFMT
Формат по умолчанию для вывода чисел.
$%
$FORMAT_PAGE_NUMBER
Формат по умолчанию для вывода номеров
страниц.
$=
$FORMAT_LINES_PER_PAGE
Длина одной страницы. По умолчанию 60
строк.
$-
$FORMAT_LINES_LEFT
Количество оставшихся строк на странице.
$~
$FORMAT_NAME
Имя формата текущего вывода. По умолчанию имя
указателя.
$^
$FORMAT_TOP_NAME
Имя текущего формата для заголовка
страницы.
$:
$FORMAT_LINE_BREAK_CHARACTERS
Символы переноса строки для многострочных
полей. В строке формата такие поля начинаются символом '^'. По
умолчанию '\n-'.
$^L
$FORMAT_FORMFEED
Символ перевода формата ( смены листа). По
умолчанию '\f'.
$^A
$ACCUMULATOR
Текущее значение аккумулятора функции write()
для format(). Значение этой переменной можно увидеть только
при использовании функции formline() т.к. write() очищает ее
после каждого вывода.
$?
$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' - игнорировать
данный сигнал.
К меню