б Perl ПЕЮКХГНБЮМ ЛЕУЮМХГЛ ЛНДСКЕИ. лНДСКЭ ЩРН ЦПСООЮ ОНДОПНЦПЮЛЛ Х ОЕПЕЛЕММШУ НАШВМН БЙКЧВЕММШУ Б НДХМ ТЮИК. бМСРПХ НДМНЦН ЛНДСКЪ ЛНФМН НОПЕДЕКХРЭ ДПСЦНИ ЛНДСКЭ. мЮВЮКН ЛНДСКЪ НОПЕДЕКЪЕРЯЪ ДХПЕЙРХБНИ:
йНМЕЖ ЛНДСКЪ ЩРН ЙНМЕЖ АКНЙЮ ХКХ ТЮИКЮ. цНКНБМНИ ЛНДСКЭ ХЛЕЕР ОН СЛНКВЮМХЧ ХЛЪ main. мЮ ХЛЪ БМСРПХ ЛНДСКЪ ЛНФМН ЯЯШКЮРЭЯЪ, ДНАЮБКЪЪ '::' ОНЯКЕ ХЛЕМХ ЛНДСКЪ.
мЮОПХЛЕП:
$main::var1 - ОЕПЕЛЕММЮЪ Б ЦНКНБМНЛ ЛНДСКЕ. ::var1 - РН ФЕ ЯЮЛНЕ. хЛЪ main ЛНФМН НОСЯЙЮРЭ. $ЛНДСКЭ1::var1 - ОЕПЕЛЕММЮЪ Б ЛНДСКЕ 'ЛНДСКЭ1' $ЛНДСКЭ1::ЛНДСКЭ2::var1 - лНДСКЭ2 ЯНДЕПФХРЯЪ Б ЛНДСКЕ 1.
рНКЭЙН ХДЕМРХТХЙЮРНПШ, МЮВХМЮЧЫХЕЯЪ Я АСЙБШ ХКХ ЯХЛБНКЮ '_', УПЮМЪРЯЪ Б ОПНЯРПЮМЯРБЕ ХЛЕМ РЕЙСЫЕЦН ЛНДСКЪ. нЯРЮКЭМШЕ УПЮМЪРЯЪ Б ОПНЯРПЮМЯРБЕ ЦНКНБМНЦН ЛНДСКЪ main. йПНЛЕ ЩРНЦН ХЛЕМЮ STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC Х SIG РЮЙ ФЕ УПЮМЪРЯЪ Б ЦНКНБМНЛ ЛНДСКЕ.
бЯЕ ХЛЕМЮ ЛНДСКЪ УПЮМЪРЯЪ Б ЮЯЯНЖХЮРХБМНЛ ЛЮЯЯХБЕ (УЕЬЕ) Я ХЛЕМЕЛ ЛНДСКЪ, Й ЙНРНПНЛС ДНАЮБКЕМШ ЯХЛБНКШ "::". рЮЙХЛ НАПЮГНЛ ХЛЕМЮ ЦНКНБМНЦН ЛНДСКЪ УПЮМЪРЯЪ Б %main:: , ЛНДСКЪ 'mod1' Б %mod1:: Х Р.Д. бШПЮФЕМХЕ БХДЮ *ХЛЪ СЙЮГШБЮЕР ГМЮВЕМХЕ ЩКЕЛЕМРЮ УЕЬЮ 'ХЛЪ', ЩРН СДНАМН ДКЪ НОПЕДЕКЕМХЪ ЙНМЯРЮМР.
мЮОПХЛЕП:
*pi = \3.14159;
гДЕЯЭ ОЕПЕЛЕММЮЪ $pi - ЩРН ЙНМЯРЮМРЮ ОХ, ЙНРНПСЧ СФЕ МЕКЭГЪ ХГЛЕМХРЭ.
йНМЯРПСЙРНП - ЩРН ОНДОПНЦПЮЛЛЮ, ЙНРНПЮЪ БШОНКМЪЕРЯЪ Б ЛНЛЕМР ЯНГДЮМХЪ НАЗЕЙРЮ, Ю ДЕЯРПСЙРНП - СДЮКЕМХЪ НАЗЕЙРЮ. дКЪ ЛНДСКЪ ЩРН ОНДОПНЦПЮЛЛШ Я ХЛЕМЮЛХ BEGIN Х END. оПХ НОПЕДЕКЕМХХ ЩРХУ ОНДОПНЦПЮЛЛ ЯКНБН sub ЛНФМН НОСЯЙЮРЭ.
йНМЯРПСЙРНП BEGIN БШОНКМЪЕРЯЪ ЯПЮГС ЙЮЙ РНКЭЙН БНГЛНФМН, Р.Е. ЙЮЙ РНКЭЙН НМ НОПЕДЕКЕМ, ДЮФЕ МЕ ГЮБЕПЬЮЪ ДЮКЭМЕИЬХИ ПЮГАНП ОПНЦПЮЛЛШ. лНФМН СЙЮГЮРЭ МЕЯЙНКЭЙН АКНЙНБ BEGIN. нМХ АСДСР БШОНКМЪРЭЯЪ НДХМ ГЮ ДПСЦХЛ Б ОНПЪДЙЕ НОПЕДЕКЕМХЪ.
дЕЯРПСЙРНП END БШОНКМЪЕРЯЪ ОНЯКЕДМХЛ ЙЮЙ РНКЭЙН БНГЛНФМН, Р.Е. ОПХ ГЮБЕПЬЕМХХ ПЮАНРШ ХМРЕПОПЕРЮРНПЮ. лНФМН СЙЮГЮРЭ МЕЯЙНКЭЙН АКНЙНБ END, ОПХ ЩРНЛ НМХ АСДСР БШОНКМЪРЭЯЪ Б НАПЮРМНЛ НОПЕДЕКЕМХЧ ОНПЪДЙЕ.
б Perl МЕР ЯОЕЖХЮКЭМНЦН ЯХМРЮЙЯХЯЮ ДКЪ ЙКЮЯЯНБ. мН ТСМЙЖХНМЮКЭМН ОНКМНЖЕММШЛХ ЙКЮЯЯЮЛХ ЛНЦСР АШРЭ ЛНДСКХ. оПХ ЩРНЛ ОНДОПНЦПЮЛЛШ ЛНДСКЪ ЯРЮМНБЪРЯЪ ЛЕРНДЮЛХ, Ю Я ОНЛНЫЭЧ ЛЮЯЯХБЮ @ISA ЛНФМН ПЕЮКХГНБЮРЭ ЛЕУЮМХГЛ МЮЯКЕДНБЮМХЪ Б ЙКЮЯЯЮУ. аНКЕЕ ОНДПНАМН ЙКЮЯЯШ НОХЯЮМШ НРДЕКЭМН.
еЯКХ БШ УНРХРЕ ЯНГДЮРЭ ЛНДСКЭ НРДЕКЭМШЛ ТЮИКНЛ Х ХЯОНКЭГНБЮРЭ ЙЮЙ АХАКХНРЕЙС ОНДОПНЦПЮЛЛ, ОПХ ЩРНЛ БШГШБЮРЭ ОНДОПНЦПЮЛЛШ АХАКХНРЕЙХ, МЕ СЙЮГШБЮЪ ХЛЕМХ ЛНДСКЪ, БЮЛ МЕНАУНДХЛН НТНПЛХРЭ ЛНДСКЭ ЯКЕДСЧЫХЛ НАПЮГНЛ:
package ХЛЪ_ЛНДСКЪ; # рЮЙНЕ ФЕ ЙЮЙ Х ХЛЪ ЩРНЦН ТЮИКЮ АЕГ ПЮЯЬХПЕМХЪ '.pm' require Exporter; # нАЪГЮРЕКЭМЮЪ ЯРПНЙЮ ДКЪ ЩЙЯОНПРЮ ХЛЕМ @ISA = qw(Exporter); # -//- @EXPORT = qw(func1 func2) # оЕПЕВХЯКЪЕЛ ХЛЕМЮ ТСМЙЖХИ. бМХЛЮМХЕ ! МЕР ГЮОЪРНИ! @EXPORT_OK = qw( $ОЕПЕЛЕММЮЪ @ЛЮЯЯХБ ); # сЙЮГЮРЭ ОСАКХВМШЕ ОЕПЕЛЕММШЕ, ЛЮЯЯХБШ Х Р.Д. ЕЯКХ МЕНАУНДХЛН { # мЮВЮКН АКНЙЮ ЛНДСКЪ ..... sub func1 ........ sub func2 ........ 1; }
дЮММШИ ТЮИК Я ПЮЯЬХПЕМХЕЛ ".pm" ДНКФЕМ УПЮМХРЭЯЪ Б НДМНИ ХГ АХАКХНРЕВМШУ ДХПЕЙРНПХИ Perl. нМХ ОЕПЕВХЯКЕМШ Б ЛЮЯЯХБЕ @INC, НДМЮ ХГ МХУ НАШВМН "/usr/local/lib/perl/".
б ЦНКНБМНИ ОПНЦПЮЛЛЕ БШ СЙЮГШБЮЕРЕ:
Х БЮЛ ЯРЮМНБЪРЯЪ ДНЯРСОМШ ХЛЕМЮ ОНДОПНЦПЮЛЛ ДЮММНЦН ЛНДСКЪ.
Perl АХАКХНРЕЙХ.
яРЮМДЮПРМШИ МЮАНП АХАКХНРЕЙ НАШВМН ОНЯРЮБКЪЕРЯЪ Я ДХЯРПХАСРХБНЛ Perl, НМХ ПЮГДЕКЪЧРЯЪ МЮ pragma АХАКХНРЕЙХ (ПЮАНРЮЧР ЙЮЙ ДХПЕЙРХБШ ЙНЛОХКЪРНПС) Х ЯРЮМДЮПРМШЕ АХАКХНРЕЙХ.
дЮММШЕ АХАКХНРЕЙХ ХЯОНКЭГСЧР ЙЮЙ:
ЙНЦДЮ УНРЪР БЙКЧВХРЭ ДЕИЯРБХЕ Х
ЙНЦДЮ БШЙКЧВХРЭ.
б ЯРЮМДЮПРМШИ МЮАНП БУНДЪР ЯКЕДСЧЫХЕ pragma:
diagnostics
бЙКЧВХРЭ ПЕФХЛ ПЮЯЬХПЕММНИ
ДХЮЦМНЯРХЙХ.
integer
хЯОНКЭГНБЮРЭ ЖЕКНВХЯКЕММСЧ
ЮПХТЛЕРХЙС.
less
пЕФХЛ ЛХМХЛЮКЭМНИ ГЮЦПСГЙХ
ЙНЛОХКЪРНПЮ.
overload
пЕФХЛ ОЕПЕНОПЕДЕКЕМХЪ НОЕПЮРНПНБ.
sigtrap
пЕФХЛ ЯКЕФЕМХЪ ГЮ ОПЕПШБЮМХЪЛХ.
strict
пЕФХЛ НЦПЮМХВЕММНЦН ХЯОНКЭГНБЮМХЪ
"НОЮЯМШУ" НОЕПЮРНПНБ.
subs
пЕФХЛ НАЪГЮРЕКЭМНЦН
ДЕЙКЮПХПНБЮМХЪ ОНДОПНЦПЮЛЛ.
AnyDBM_File
бНГЛНФМНЯРЭ ПЮАНРШ Я ПЮГМШЛХ
РХОЮЛХ АЮГ ДЮММШУ.
AutoLoader
гЮЦПСГЙЮ Б ОЮЛЪРЭ ТСМЙЖХИ РНКЭЙН БН
БПЕЛЪ БШГНБЮ.
AutoSplit
пЮГДЕКХРЭ ЛНДСКЭ ДКЪ ЮБРНГЮЦПСГЙХ.
Benchmark
юМЮКХГ ЯЙНПНЯРХ ХЯОНКМЕМХЪ
ОПНЦПЮЛЛШ.
Carp
оПЕДСОПЕФДЕМХЪ НА НЬХАЙЮУ.
Config
дНЯРСО Й ЙНМТХЦСПЮЖХХ Perl.
Cwd
оНКСВХРЭ ХЛЪ РЕЙСЫЕИ ПЮАНВЕИ
ДХПЕЙРНПХХ.
DB_File
пЮАНРЮ Я АЮГНИ ДЮММШУ ТНПЛЮРЮ Berkley
DB.
Devel::SelfStubber
пЕФХЛ НРКЮДЙХ ЮБРНГЮЦПСГЙХ.
DynaLoader
дХМЮЛХВЕЯЙЮЪ ГЮЦПСГЙЮ АХАКХНРЕЙ C.
English
хЯОНКЭГНБЮРЭ ДКХММШЕ ХЛЕМЮ
БЯРПНЕММШУ ОЕПЕЛЕММШУ.
Env
хЛОНПРХПНБЮРЭ ХЛЕМЮ ОЕПЕЛЕММШУ
НЙПСФЕМХЪ
Exporter
нАЕЯОЕВХБЮЕР ЩЙЯОНПР/ХЛОНПР ДКЪ
ЛНДСКЕИ.
ExtUtils::LibList
нОПЕДЕКЪЕР ХЯОНКЭГСЕЛШЕ
АХАКХНРЕЙХ.
ExtUtils::MakeMaker
яНГДЮЕР ТЮИК ОПНЕЙРЮ Makefile
ExtUtils::Manifest
оПНЦПЮЛЛШ ДКЪ ЯНГДЮМХЪ Х ОПНБЕПЙХ
ТЮИКЮ MANIFEST
ExtUtils::Mkbootstrap
оПХЛЕМЕМХЕ ТЮИКЮ МЮВЮКЭМНИ
ГЮЦПСГЙХ ДКЪ DynaLoader.
Fcntl
нОПЕДЕКЕМХЪ ЙЮЙ Х Б я Fcntl.h
File::Basename
яХМРЮЙЯХВЕЯЙХИ ПЮГАНП
ЯОЕЖХТХЙЮЖХХ ТЮИКЮ.
File::CheckTree
аШЯРПШИ ОПНУНД ОН ДХПЕЙРНПХЪЛ
ДХЯЙЮ.
File::Find
аШЯРПШИ ОНХЯЙ ТЮИКНБ ОН
ДХПЕЙРНПХЪЛ.
FileHandle
нАЕЯОЕВХБЮЕР НАЗЕЙРМШИ ЛЕРНД
ДНЯРСОЮ Й СЙЮГЮРЕКЪЛ ТЮИКНБ.
File::Path
яНГДЮМХЕ/СДЮКЕМХЕ ДХПЕЙРНПХИ.
Getopt::Long
пЮЯЬХПЕММЮЪ НАПЮАНРЙЮ НОЖХИ.
Getopt::Std
яРЮМДЮПРМЮЪ НАПЮАНРЙЮ НОЖХИ.
I18N::Collate
яПЮБМЕМХЕ ЯХЛБНКНБ КНЙЮКЭМНИ
ЙНДХПНБЙХ.
IPC::Open2
лЕФОПНЖЕЯЯНПМШИ НАЛЕМ ОН ВРЕМХЧ Х
ГЮОХЯХ.
IPC::Open3
лЕФОПНЖЕЯЯНПМШИ НАЛЕМ ОН ВРЕМХЧ,
ГЮОХЯХ, Х НАПЮАНРЙХ НЬХАНЙ.
Net::Ping
рЕЯР ДНЯРСОЮ Й УНЯРС.
POSIX
яРЮМДЮПРМШИ ХМРЕПТЕИЯ ОН IEEE Std 1003.1
SelfLoader
гЮЦПСГЙЮ ТСМЙЖХИ РНКЭЙН ОН БШГНБС.
Socket
нОПЕДЕКЕМХЕ ЯРПСЙРСП Х ЙНМЯРЮМР
ЙЮЙ Х Б я socket.h
Test::Harness
яРЮМДЮПРМШИ РЕЯР Я ЯРЮРХЯРХЙНИ.
Text::Abbrev
яНГДЮМХЕ РЮАКХЖШ ЯНЙПЮЫЕМХИ ОН
ЯОХЯЙС.
оНДПНАМНЕ НОХЯЮМХЕ ЙЮФДНИ АХАКХНРЕЙХ ГЮОХЯЮМН Б ЯЮЛНЛ ТЮИКЕ.
оПНЦПЮЛЛХЯРШ БЯЕЦН ЛХПЮ, ПЮАНРЮЧЫХЕ Я Perl, ЯНГДЮКХ НАЫЕДНЯРСОМСЧ АХАКХНРЕЙС ЛНДСКЕИ CPAN. нМЮ ДНЯРСОМЮ ВЕПЕГ хМРЕПМЕР Х ЯНДЕПФХР НЦПНЛМНЕ ЙНКХВЕЯРБН ПЮГКХВМШУ ОН МЮГМЮВЕМХЧ ЛНДСКЕИ. й МХЛ НРМНЯЪРЯЪ ДНЙСЛЕМРЮРНПШ, ЯХЯРЕЛМШЕ ХМРЕПТЕИЯШ, ХМРЕПТЕИЯШ ПЮАНРШ Я АЮГЮЛХ ДЮММШУ, ПЮАНРЮ Б ЯЕРХ, Я ТЮИКЮЛХ, хМРЕПМЕР-АПНСГЕПШ, ЯХЯРЕЛШ ОНХЯЙЮ, НЦПНЛМНЕ ЙНКХВЕЯРБН CGI ЯЙПХОРНБ ДКЪ Web ЯЕПБЕПНБ Х ЛМНЦНЕ-ЛМНЦНЕ ДПСЦНЕ. яОХЯНЙ МЕЙНРНПШУ CPAN ЯЕПБЕПНБ БШ ЛНФЕРЕ МЮИРХ Б ОПХКНФЕМХХ.
[мЮГЮД] [яНДЕПФЮМХЕ] [бОЕПЕД]