» Главная
eXcode.ru » Статьи » Perl » Общие
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 5





Встроенные переменные Перл




Источник: perl.far.ru

Описанные в данной главе переменныые имеют в Перл специальные значения. Они обозначаются несколько непривычно для "глаза" программистов т.к. состоят обычно только из дву символов причем первый это ′$′ символо с которого начинаются имена всех переменных и произвольный часто не буквенно-цифровой символ. Если вы хотите пользоваться их "нормальными" буквенными синонимами то вам нужно указать в начале программы:


use English;


Точно так же если вы захотите пользоваться переменными и методами текущего указателя файлов вы можете написать:


use FileHandle;


после этого можно просто писать:

метод указатель выражение

или

указатель -> метод(выражение)

Ниже приводятся имена как в короткой так и в длинной (словесной) форме. Некоторые из встроенных переменных имеют доступ тоько на чтение поэтому изменить их значение просто не возможно.


$_
$ARG


Переменная - по умолчанию для операторов ввода и поиска. То есть если в качестве аргумента не указана никакая переменная то используется именно эта.


$цифра


Содержит найденные подстроку в последнем поиске, когда шаблон содержит метасимволы в круглых скобках. Цифра в данном случае это номер скобок. Первая подстрока имеет номер 1.


$&
$MATCH


Найденная подстрока в последнем поиске по шаблону.


$`


Подстрока предшевствующая найденной подстроке.


$′
$POSTMATCH


Подстрока последующая за найденной подстрокой.


$+
$LAST_PAREN_MATCH


Подстрока найденная в поиске с выбором по "или".


$*
$MULTILINE_MATCHING


Если значение этой переменной установить равным 1 то переменная в которой осуществляется поиск будет считаться многосторочной т.е. содержащей символы ′ ′ - перевод строки. Если значеие равно 0 то переменная считается однострочной. В Перл версии 5 и выше не рекомендуестя использовать эту переменную.


$.
$INPUT_LINE_NUMBER
$NR


Номер прочитанной строки последнего оператора ввода. Закрытие файла вызывает очистку значения этой переменной.


$/
$RS
$INPUT_RECORD_SEPARATOR


Символ - признак конца входной строки. По умолчанию это ′ ′


$|
$OUTPUT_AUTOFLUSH


Если присвоить этой переменной не нулевое значение то будет сброс буфера вывода после каждой операции вывода. Значение по умолчанию -0


$,
$OFS
$OUTPUT_FIELD_SEPARATOR


Символ добавляемый оператором print после каждого элемента из списка параметров.


$
$ORS
$OUTPUT_RECORD_SEPARATOR


Символ добавляемый print после вывода всех параметров.


$"
$LIST_SEPARATOR


Анологичен "$," но добавляется после каждого элемента массива указаноого в "....".


$;
$SUBSEP
$SUBSCRIPT_SEPARATOR


Символ - разделитель для эмуляции многомерных массивов в хеш массивах. По умолчанию ′34′.


$#
$OFMT


Формат по умолчанию для вывода чисел.


$%
$FORMAT_PAGE_NUMBER


Формат по умолчанию для вывода номеров страниц.


$=
$FORMAT_LINES_PER_PAGE


Длина одной страницы. По умолчанию 60 строк.


$-
$FORMAT_LINES_LEFT


Количество оставшихся строк на странице.


$~
$FORMAT_NAME


Имя формата текущего вывода. По умолчанию имя указателя.


$^
$FORMAT_TOP_NAME


Имя текущего формата для заголовка страницы.


$:
$FORMAT_LINE_BREAK_CHARACTERS


Символы переноса строки для многострочных полей. В строке формата такие поля начинаются символом ′^′. По умолчанию ′ -′.


$^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′ - игнорировать данный сигнал.
К началу статьи





Добавил: LedWormДата публикации: 2005-07-03 19:01:06
Рейтинг статьи:3.00 [Голосов 5]Кол-во просмотров: 7776

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Как вы относитесь к рекламе на сайтах.
Отрицательно, терпеть ее не могу!
46% (95)
С пониманием
25% (51)
Пусть будет, если только по делу
15% (32)
Она мне безразлична!
11% (23)
Я ее обожаю!
3% (6)

Проголосовало: 208
Когда собаке нечего делать, она лижет яйца. Когда человеку нечего делать, он бродит по Интернету.
Рейтинг: 4/10 (1)
Посмотреть все анекдоты