Perl Специальные переменные
Perl язык определяет некоторую специальную переменную, как правило, $, @ или% в качестве префикса, например: $ _.
Многие специальные переменные имеют очень длинное английское название, операционная система переменной $! Может быть записана как $ OS_ERROR.
Если вы хотите использовать английское название специальной переменной в программе нужно головой , чтобы добавитьиспользовать английский язык ;.Этот английский специальные переменные описательным.
Наиболее часто используется специальная переменная $ _, переменная содержит вход по умолчанию и шаблон соответствия содержимого. Примерами могут служить следующие:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print $_; print "\n"; }
Вышеприведенная программа, выход:
Google w3big Taobao
В следующем примере мы не используем $ _ для вывода:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print; print "\n"; }
Вышеприведенная программа, выход:
Google w3big Taobao
Например, первый выход "Google", то выход "w3big", окончательный вывод "Taobao".
В итерации цикла, текущий цикл строки в $ _, а затем через выход печати. Также печать без указания выходной переменной используется по умолчанию в $ _.
Ниже приведены несколько государств даже без Perl предположим $ _ Место:
- Монокулярные различные функции, в том числе в качестве функции Ord () и Int (), и поэтому в дополнение к "-t" все файловые тесты ( "-f", "- d"), "- т" действие по умолчанию STDIN.
- Перечень различных функций, таких как печать () и Разорвать связь ().
- Не используйте "= ~" режим оператора, когда операция согласования "м //", "s ///" и "тр ///".
- Когда другие переменные не дано "ForEach" итерации цикла переменной по умолчанию.
- Неявных итерации переменная Grep () и функциональная карта ().
- Когда "пока" только единственное условие, а условие является результатом испытания работы "", $ _ местоположение по умолчанию для хранения входных записей. В дополнение к ", а" в тестовых условиях, не произойдет. (Мнемоника: подчеркнуть в той или иной операции может быть опущена.)
Специальные типы переменных
В соответствии с особым характером использования переменных можно разделить на следующие категории:
Специальная глобальная скалярная переменная.
Специальная глобальная переменная массива.
Hash специальные глобальные переменные.
Глобальный специальный дескриптор файла.
Глобальная специальная константа.
Regex специальные переменные.
Файл обрабатывать специальные переменные.
Специальная глобальная переменная скаляром
Ниже приведен список всех специальных скалярной переменной, содержащей специальные символы и английский язык в виде переменных:
$ _ | ввод и шаблон по умолчанию соответствующий контент. |
$ ARG | |
$. | Предыдущее читать номер текущей строки дескрипторов файлов |
$ NR | |
$ / | Входной разделитель записей, по умолчанию символ новой строки. Как и в случае UNDEF этой переменной будет читать конец файла. |
$ RS | |
$, | Выходной разделитель полей |
$ OFS | |
$ \ | Выходной разделитель записей |
$ ПРС | |
$ " | Та же переменная $, аналогичный, но применяется к строке в двойных кавычках (или аналогичный интерполяции строк) вставляется в массив случаев и значений среза. Значение по умолчанию является пустым. |
$ LIST_SEPARATOR | |
$; | Ограничитель используется, когда многомерного массива эмуляции. Значение по умолчанию "\ 034." |
$ SUBSCRIPT_SEPARATOR | |
$ ^ L | Направлено в выходные каналы принимают характер подачи бумаги. Значение по умолчанию "\ F". |
$ FORMAT_FORMFEED | |
$: | Текущий набор символов, после чего строка может быть разбита, чтобы заполнить поля продолжения (начиная с ^) в формате. По умолчанию "\ п" ". |
$ FORMAT_LINE_BREAK_CHARACTERS | |
$ ^ А | Перед печатью переменной формат данных для сохранения |
$ ACCUMULATOR | |
$ # | При печати цифровой формат вывода цифровой по умолчанию (устаревший). |
$ OFMT | |
$? | Возврат к состоянию внешней команды |
$ CHILD_ERROR | |
$! | Числовое значение этой переменной значение егто, значение строки является соответствующая строка ошибки системы |
$ OS_ERROR или $ ERRNO | |
$ @ | Сообщение Eval Ошибка команды, если он пуст, это означает последнюю команду Eval успешно завершена |
$ EVAL_ERROR | |
$$ | Сценарий Perl для запуска текущего идентификатора процесса |
$ Process_id или $ PID | |
$ < | Фактические абонентские номера текущего процесса |
$ REAL_USER_ID или $ UID | |
$> | Эффективное число пользователей текущего процесса |
$ EFFECTIVE_USER_ID или $ EUID | |
$ ( | Текущий процесс фактическое количество групп пользователей |
$ REAL_GROUP_ID или $ GID | |
$) | эффективное число группы пользователей текущего процесса в |
$ EFFECTIVE_GROUP_ID или $ EGID | |
$ 0 | Имя файла содержит скрипт выполняется |
$ program_name | |
$ [ | Индекс первого элемента массива массивов, по умолчанию равно 0. |
$] | Perl номер версии |
$ PERL_VERSION | |
$ D ^ | Значение флага отладки |
$ DEBUGGING | |
$ ^ E | В не-UNIX операционных сред расширенная информация об ошибке |
$ EXTENDED_OS_ERROR | |
$ ^ F | Максимальное значение идентификатора файла указанного пучка |
$ SYSTEM_FD_MAX | |
$ ^ H | Активируется проверка синтаксиса компилятора статуса |
$ ^ I | Встроенный значение управления редактора |
$ INPLACE_EDIT | |
$ ^ M | Размер пула резервирования памяти |
$ O ^ | Название операционной системы |
$ OSName | |
$ ^ P | Определяет текущий отладчик внутренней переменной значение |
$ PERLDB | |
$ ^ T | С начала нового века, темпы секунды начинают работать вне времени |
$ BASETIME | |
$ ^ W | Текущее значение переключателя предупреждения |
$ ВНИМАНИЕ! | |
$ ^ X | Perl двоичный исполняемый код имя |
$ EXECUTABLE_NAME | |
$ ARGV | Имя текущего файла считывается из файла по умолчанию, когда на ручке |
Специальная глобальная переменная массива
@ARGV | В строке списка аргументов команд сценария |
@INC | При импорте списка каталогов модуль для поиска |
@F | Введите массив командной строки |
Hash специальные глобальные переменные
% INC | Хэш% INC содержит все файлы с делать или требуют заявления, содержащиеся Ключевое слово это имя файла, значение является путь к файлу |
% ENV | Содержит текущую переменную окружения |
% SIG | Список сигналов и как бороться |
Глобальная специальная ручка файл
ARGV | Специальная ручка файла через массив переменной @ARGV все имена файлов |
STDERR | Стандартная ошибка вывода ручка |
STDIN | Стандартный ввод ручки |
STDOUT | Стандартный выходной ручка |
DATA | Специальный справочный файл ручка любое содержание __END__ флаг в файле, содержащем содержимое сценария после. Или ссылку на все файла контента содержит __DATA__ флаг после того, как, до тех пор, как вы прочитали в тех же самых пакетных данных, __ DATA__ там. |
_ (Подчеркивание) | Специальные файлы при файловом кэш для информации (fstat, стат и lstat). |
Глобальная специальная константа
__END__ | Логический конец скрипта, текст после того, как игнорируются. |
__FILE__ | Имя текущего файла |
__LINE__ | Номер текущей строки |
__PACKAGE__ | В настоящее время имя пакета, имя пакета по умолчанию является основным. |
Regex специальные переменные
$ N | Содержит последнюю шаблону п-й строки |
$ & | Предыдущая успешная строка поиска по шаблону |
$ MATCH | |
$ ` | Последнее совпадение подстроки успех предыдущего содержания |
$ PREMATCH | |
$ ' | Содержание последнего успешного матча после подстроки |
$ POSTMATCH | |
$ + | И последний регулярные выражения поиска последней скобкой формат соответствия. Например: /Version: (.*)|Revision: (.*)/ && ($rev = $+); |
$ LAST_PAREN_MATCH |
Файл обрабатывать специальные переменные
$ | | Если установлено в ноль после каждого вызова функции записи или печати, автоматически вызывает функцию fflush, написанное содержание будет записать файл |
$ OUTPUT_AUTOFLUSH | |
$% | Номер текущего вывода страницы |
$ FORMAT_PAGE_NUMBER | |
$ = | Текущая длина страницы. Значение по умолчанию 60. |
$ FORMAT_LINES_PER_PAGE | |
$ - | Номер текущей страницы линий остальные |
$ FORMAT_LINES_LEFT | |
$ ~ | Нынешнее название формата вывода отчета. Значение по умолчанию это имя дескриптора файла. |
$ FORMAT_NAME | |
$ ^ | Текущий вывод отчета формат заголовка название таблицы. Значение по умолчанию равно с суффиксом "_top" имя файла ручки. |
$ FORMAT_TOP_NAME |