* Встроенные переменные Пел *
Описанные в данной главе переменныые имеют в Пел специальные значения.
Они обозначаются несколько непривычно для "глаза" программистов
т.к. состоят обычно только из дву символов причем первый это '$'
символо с которого начинаются имена всех переменных и произвольный часто
не буквенно-цифровой символ. Если вы хотите пользоваться их "нормальными"
буквенными синонимами то вам нужно указать в начале программы:
use English;
Точно так же если вы захотите пользоваться переменными и методами
текущего указателя файлов вы можете написать:
use FileHandle;
после этого можно можно просто писать:
метод указатель выражение
или
указатель -> метод(выражение)
Ниже приводятся имена как в короткой так и в длинной (словесной) форме.
Некоторые из встроенных переменных имеют доступ тоько на чтение
поэтому изменить их значение просто не возможно.
Переменная - по умолчанию для операторов ввода и поиска.
То есть если в качестве аргумента не указана никакая переменная то
используется именно эта.
Содержит найденные подстроку в последнем поиске когда
шаблон содержит метасимволы в круглых скобках. Цифра в данном
случае это номер скобок. Первая подстрока имеет номер 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-'.
$FORMAT_FORMFEED
Символ перевода формата ( смены листа). По умолчанию '\f'.
$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 текущего процесса.
$PROGRAM_NAME
Имя файла программы. Если этой переменной присвоить какое
нибудь значение то его можно видеть в команде ps, что удобно для
контроля за состоянием программы.
Номер первого элемента массива или символа строки.
Значение по умолчанию - 0.
$PERL_VERSION
Строка сообщение версии Пел. Печатается по команде perl -v
Применяется в программе для определения рабочей версии Пел.
В числовом контексте это номер версии плюс номер модификации / 1000.
$DEBUGGING
Текущее значение ключа отладки '-D'.
$SYSTEM_FD_MAX
Номер максимального системного описателя файлов (system file
descriptor). Обычно это 2.
$INPLACE_EDIT
Текущее значение inplace-edit возможности.
Для отключения используйте undef.
$PERLDB
Внутренний флаг отладки. Применяется для того что бы отладчик
не отслеживал самого себя.
$BASETIME
Время в секундах с начала 1970 года старта текущей программы.
$WARNING
Значение флага '-w'. true -если включено и false - выключено.
$EXECUTABLE_NAME
Команда запуска Пел. Аналогично argv[0] в С.
Имя текущего файла читаемого оператором '<>'.
Массив параметров строки запуска программы.
Внимание! @#ARGV - меньше количества параметров на 1 т.к.
$ARGV[0] это первый параметр (не имя программы).
Список директорий диска которые просматривает Пел
для выполнения команд do, require или use.
Этот хеш содержит имена директорий для имен использованных
файлов командами do или require. Ключ - имя файла, а значение - директория.
Хеш %ENV содержит значения переменных окружения. Изменение
этих значений вызывает изменение окружения для процессов потомков.
Хеш %SIG содержит имена подпрограмм для системных
сигналов таких как INT, QUIT, PIPE, ...
Значение 'DEFAULT' - для системной обработки.
'IGNORE' - игнорировать данный сигнал.
Last-modified: Thu, 24-Apr-97 18:10:01 GMT