Latest web development tutorials

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