бЯРПНЕММШЕ ОЕПЕЛЕММШЕ Perl.

нОХЯЮММШЕ Б ДЮММНИ ЦКЮБЕ ОЕПЕЛЕММШЕ ХЛЕЧР Б Perl ЯОЕЖХЮКЭМШЕ ГМЮВЕМХЪ. нМХ НАНГМЮВЮЧРЯЪ МЕЯЙНКЭЙН МЕОПХБШВМН ДКЪ "ЦКЮГЮ" ОПНЦПЮЛЛХЯРНБ, Р.Й. ЯНЯРНЪР НАШВМН РНКЭЙН ХГ ДБСУ ЯХЛБНКНБ, ОПХВЕЛ ОЕПБШИ ЩРН '$' ЯХЛБНК, Я ЙНРНПНЦН МЮВХМЮЧРЯЪ ХЛЕМЮ БЯЕУ ОЕПЕЛЕММШУ, Х ОПНХГБНКЭМШИ ВЮЯРН МЕ АСЙБЕММН-ЖХТПНБНИ ЯХЛБНК. еЯКХ БШ УНРХРЕ ОНКЭГНБЮРЭЯЪ ХУ "МНПЛЮКЭМШЛХ" АСЙБЕММШЛХ ЯХМНМХЛЮЛХ, РН БЮЛ МСФМН СЙЮГЮРЭ Б МЮВЮКЕ ОПНЦПЮЛЛШ:

	use English;

рНВМН РЮЙ ФЕ ЕЯКХ БШ ГЮУНРХРЕ ОНКЭГНБЮРЭЯЪ ОЕПЕЛЕММШЛХ Х ЛЕРНДЮЛХ РЕЙСЫЕЦН СЙЮГЮРЕКЪ ТЮИКНБ БШ ЛНФЕРЕ МЮОХЯЮРЭ:

	use FileHandle;

ОНЯКЕ ЩРНЦН ЛНФМН ОПНЯРН ОХЯЮРЭ:

	ЛЕРНД СЙЮГЮРЕКЭ БШПЮФЕМХЕ

ХКХ

	СЙЮГЮРЕКЭ -> ЛЕРНД(БШПЮФЕМХЕ)

мХФЕ ОПХБНДЪРЯЪ ХЛЕМЮ ЙЮЙ Б ЙНПНРЙНИ, РЮЙ Х Б ДКХММНИ (ЯКНБЕЯМНИ) ТНПЛЕ. мЕЙНРНПШЕ ХГ БЯРПНЕММШУ ОЕПЕЛЕММШУ ХЛЕЧР ДНЯРСО РНКЭЙН МЮ ВРЕМХЕ, ОНЩРНЛС ХГЛЕМХРЭ ХУ ГМЮВЕМХЕ ОПНЯРН МЕБНГЛНФМН.

$_
$ARG

оЕПЕЛЕММЮЪ - ОН СЛНКВЮМХЧ ДКЪ НОЕПЮРНПНБ ББНДЮ Х ОНХЯЙЮ. рН ЕЯРЭ ЕЯКХ Б ЙЮВЕЯРБЕ ЮПЦСЛЕМРЮ МЕ СЙЮГЮМЮ МХЙЮЙЮЪ ОЕПЕЛЕММЮЪ, РН ХЯОНКЭГСЕРЯЪ ХЛЕММН ЩРЮ.

$ЖХТПЮ

яНДЕПФХР МЮИДЕММСЧ ОНДЯРПНЙС Б ОНЯКЕДМЕЛ ОНХЯЙЕ, ЙНЦДЮ ЬЮАКНМ ЯНДЕПФХР ЛЕРЮЯХЛБНКШ Б ЙПСЦКШУ ЯЙНАЙЮУ. жХТПЮ Б ДЮММНЛ ЯКСВЮЕ, ЩРН МНЛЕП ЯЙНАНЙ. оЕПБЮЪ ОНДЯРПНЙЮ ХЛЕЕР МНЛЕП 1.

$&
$MATCH

мЮИДЕММЮЪ ОНДЯРПНЙЮ Б ОНЯКЕДМЕЛ ОНХЯЙЕ ОН ЬЮАКНМС.

$`

оНДЯРПНЙЮ, ОПЕДЬЕЯРБСЧЫЮЪ МЮИДЕММНИ ОНДЯРПНЙЕ.

$'
$POSTMATCH

оНДЯРПНЙЮ, ОНЯКЕДСЧЫЮЪ ГЮ МЮИДЕММНИ ОНДЯРПНЙНИ.

$+
$LAST_PAREN_MATCH

оНДЯРПНЙЮ, МЮИДЕММЮЪ Б ОНХЯЙЕ Я БШАНПНЛ ОН "ХКХ".

$*
$MULTILINE_MATCHING

еЯКХ ГМЮВЕМХЕ ЩРНИ ОЕПЕЛЕММНИ СЯРЮМНБХРЭ ПЮБМШЛ 1, РН ОЕПЕЛЕММЮЪ, Б ЙНРНПНИ НЯСЫЕЯРБКЪЕРЯЪ ОНХЯЙ, АСДЕР ЯВХРЮРЭЯЪ ЛМНЦНЯРПНВМНИ, Р.Е. ЯНДЕПФЮЫЕИ ЯХЛБНКШ '\n' - ОЕПЕБНД ЯРПНЙХ. еЯКХ ГМЮВЕМХЕ ПЮБМН 0, РН ОЕПЕЛЕММЮЪ ЯВХРЮЕРЯЪ НДМНЯРПНВМНИ. б Perl БЕПЯХХ 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. оЕВЮРЮЕРЯЪ ОН ЙНЛЮМДЕ perl -v оПХЛЕМЪЕРЯЪ Б ОПНЦПЮЛЛЕ ДКЪ НОПЕДЕКЕМХЪ ПЮАНВЕИ БЕПЯХХ Perl. б ВХЯКНБНЛ ЙНМРЕЙЯРЕ ЩРН МНЛЕП БЕПЯХХ ОКЧЯ МНЛЕП ЛНДХТХЙЮЖХХ / 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

йНЛЮМДЮ ГЮОСЯЙЮ Perl. юМЮКНЦХВМН argv[0] Б я.

$ARGV

хЛЪ РЕЙСЫЕЦН ТЮИКЮ, ВХРЮЕЛНЦН НОЕПЮРНПНЛ '<>'.

@ARGV

лЮЯЯХБ ОЮПЮЛЕРПНБ ЯРПНЙХ ГЮОСЯЙЮ ОПНЦПЮЛЛШ. бМХЛЮМХЕ! @#ARGV - ЛЕМЭЬЕ ЙНКХВЕЯРБЮ ОЮПЮЛЕРПНБ МЮ 1, Р.Й. $ARGV[0] ЩРН ОЕПБШИ ОЮПЮЛЕРП (МЕ ХЛЪ ОПНЦПЮЛЛШ).

@INC

яОХЯНЙ ДХПЕЙРНПХИ ДХЯЙЮ, ЙНРНПШЕ ОПНЯЛЮРПХБЮЕР Perl ДКЪ БШОНКМЕМХЪ ЙНЛЮМД do, require ХКХ use.

%INC

щРНР УЕЬ ЯНДЕПФХР ХЛЕМЮ ДХПЕЙРНПХИ ДКЪ ХЛЕМ ХЯОНКЭГНБЮММШУ ТЮИКНБ ЙНЛЮМДЮЛХ do ХКХ require. йКЧВ - ХЛЪ ТЮИКЮ, Ю ГМЮВЕМХЕ - ДХПЕЙРНПХЪ.

$ENV{БШПЮФЕМХЕ}

уЕЬ %ENV ЯНДЕПФХР ГМЮВЕМХЪ ОЕПЕЛЕММШУ НЙПСФЕМХЪ. хГЛЕМЕМХЕ ЩРХУ ГМЮВЕМХИ БШГШБЮЕР ХГЛЕМЕМХЕ НЙПСФЕМХЪ ДКЪ ОПНЖЕЯЯНБ ОНРНЛЙНБ.

$SIG{БШПЮФЕМХЕ}

уЕЬ %SIG ЯНДЕПФХР ХЛЕМЮ ОНДОПНЦПЮЛЛ ДКЪ РЮЙХУ ЯХЯРЕЛМШУ ЯХЦМЮКНБ ЙЮЙ INT, QUIT, PIPE, ... гМЮВЕМХЕ 'DEFAULT' - ДКЪ ЯХЯРЕЛМНИ НАПЮАНРЙХ. 'IGNORE' - ХЦМНПХПНБЮРЭ ДЮММШИ ЯХЦМЮК.

[мЮГЮД] [яНДЕПФЮМХЕ] [бОЕПЕД]