оПЕФДЕ ВЕЛ ОПХЯРСОХРЭ Й ОНЯКЕДНБЮРЕКЭМНЛС НГМЮЙНЛКЕМХЧ Я МЕ ГМЮЙНЛШЛ ДКЪ БЮЯ ЪГШЙНЛ, ДНКФЕМ НЦНБНПХРЭЯЪ Х ЯЙЮГЮРЭ, ВРН БЯЕ ОПХЛЕПШ ДЮ Х ЯЮЛ ЪГШЙ НОХЯЮМХЧ ЙНРНПНЦН ОНЯБЪЫЕМЮ ЩРЮ ЙМХЦЮ ЩРН Perl БЕПЯХХ 5.003 ДКЪ НОЕПЮЖХНММНИ ЯХЯРЕЛШ FreeBSD БЕПЯХХ 2.01. яСЫЕЯРБСЧР ПЕЮКХГЮЖХХ ЩРНЦН ЪГШЙЮ ДКЪ НОЕПЮЖХНММШУ ЯХЯРЕЛ OS/2 , MS-DOS Х Windows NT МН НМХ МЕЛМНЦН НРЯРЮЧР ОН БНГЛНФМНЯРЪЛ НР НПХЦХМЮКЮ, ПНФДЕММНЦН Б МЕДПЮУ Unix.
оПХЛЕП 1.
бБЕДХРЕ Б ТЮИК test1.pl ЯКЕДСЧЫХЕ
ЯРПНЙХ:
#!/usr/local/bin/perl # яНДЕПФХЛНЕ ТЮИКЮ test1.pl print "мЮЬЕ бЮЛ Я ЙХЯРНВЙНИ!\n";
ю РЕОЕПЭ ОНДПНАМН ПЮГАЕПЕЛ ЙЮФДСЧ
ЯРПНЙС.
#!/usr/local/bin/perl
дЮММЮЪ ЯРПНЙЮ ДНКФМЮ АШРЭ ОЕПБНИ Б КЧАНИ Perl-ОПНЦПЮЛЛЕ. нМЮ СЙЮГШБЮЕР ЯХЯРЕЛМНЛС ХМРЕПОПЕРЮРНПС ВРН ДЮММШИ ТЮИК - ЩРН Perl-ОПНЦПЮЛЛЮ.
# яНДЕПФХЛНЕ ТЮИКЮ test1.pl
щРЮ ЯРПНЙЮ МЮГШБЮЕРЯЪ ЙНЛЛЕМРЮПХЕЛ. нМЮ БЯЕЦДЮ МЮВХМЮЕРЯЪ ЯХЛБНКНЛ '#' Х ГЮЙЮМВХБЮЕРЯЪ РЮЙХЛ НАЗЪЯМЕМХЕЛ ВРН ЙЮЙ ЦНБНПХК БЕКХЙХИ уНДФЮ мЮЯПЕДДХМ "ЩРН РНМЙХИ ТХКНЯНТЯЙХИ БНОПНЯ", Ю ЦНБНПЪ ОПНЯРШЛ ЪГШЙНЛ ГДЕЯЭ ЛНФМН ОХЯЮРЭ БЯЕ ВРН СЦНДМН. дЮФЕ ОНФЕКЮМХЕ ПСЙНБНДЯРБС. сФ ГДЕЯЭ НМН РНВМН ДН МЕЦН МЕ ДНИДЕР.
print "мЮЬЕ бЮЛ Я ЙХЯРНВЙНИ!\n";
яЮЛЮЪ ОНЯКЕДМЪЪ МС Х ЙНМЕВМН ЦКЮБМЮЪ. нМЮ ОПНЯРН БШБНДХР МЮ ЩЙПЮМ МЮДОХЯЭ "мЮЬЕ бЮЛ Я ЙХЯРНВЙНИ!".
гДЕЯЭ ЯКНБН print - ЩРН ЙНЛЮМДЮ "БШБЕЯРХ". бЯЕ ВРН Б ЙЮБШВЙЮУ - ЩРН ЯХЛБНКШ, \n - ОЕПЕБНД ЯРПНЙХ Х ';' - ОПХГМЮЙ ЙНМЖЮ ЙНЛЮМДШ. нМ НАЪГЮРЕКЕМ. б НДМНИ ЯРПНЙЕ ЛНФЕР АШРЭ МЕЯЙНКЭЙН ЙНЛЮМД Х БЯЕ НМХ ДНКФМШ ГЮБЕПЬЮРЭЯЪ ЯХЛБНКНЛ ';'. оНЯКЕ МЕЦН ЛНФЕР АШРЭ ЯХЛБНК '#' - ЩРН ГМЮВХР НЯРЮРНЙ ЯРПНЙХ ЯВХРЮЕРЯЪ ЙНЛЛЕМРЮПХЕЛ.
мЮД ЩРНИ ЯРПНЙНИ ЮБРНПС ОПХЬКНЯЭ АНКЭЬЕ БЯЕЦН ОНКНЛЮРЭ ЦНКНБС РЮЙ ЙЮЙ Б МЕЕ ОНЯРНЪММН КЕГКХ ЙЮЙХЕ РН ЯРПЮММШЕ "hello", "hello all", "оНЯРПНХЛЯЪ Х ЯОЮЯЕЛЯЪ", "яРПНИ МЮЬЕ ЯОЮЯЕМХЕ" Х Р. Д. Х Р.О.
еЯКХ БШ МХЙНЦДЮ МЕ ПЮАНРЮКХ Я Perl, РН АЭЧЯЭ МЮ ЯОНП Б 10$, ВРН ДЮММЮЪ ОПНЦПЮЛЛЮ ЯПЮГС С БЮЯ МЕ ГЮПЮАНРЮЕР! мЕ ОНРНЛС ВРН НМЮ МЕ БЕПМЮ, Ю ОНРНЛС ВРН "мЕКЭГЪ НАЗЪРЭ МЕНАЗЪРМНЕ". яПЮГС, ОНРНЛ ЛНФМН, ДЮ Х РН ВЮЯРЪЛХ. яМЮВЮКЮ ЯДЕКЮИРЕ БЮЬ ТЮИК test1.pl ХЯОНКМЪЕЛШЛ. дКЪ ЩРНЦН ББЕДХРЕ ЙНЛЮМДС:
chmod +x test1.pl
гЮРЕЛ ОПНБЕПЭРЕ ЦДЕ С БЮЯ Perl. дКЪ ЩРНЦН ББЕДХРЕ:
which perl
яХЯРЕЛЮ БЮЛ БШДЮЯР ВРН РН БПНДЕ:
/usr/bin/perl
еЯКХ:
perl: Command not found.
рН РНЦДЮ ГЮЙПНИРЕ ЙМХФЙС Х КНФХРЕЯЭ ЯОЮРЭ. с БЮЯ ОПНЯРН МЕР Perl ХКХ НМ МЕ СЯРЮМНБКЕМ. ю ЛМЕ НЯРЮЕРЯЪ ОНЯКЮРЭ БЮЯ Й ЯХЯРЕЛМНЛС ЮДЛХМХЯРПЮРНПС ХКХ Й man (ДКЪ ОЕПЕБНДВХЙНБ- man ЯНЙПЮЫЕМХЕ НР manual Ю МЕ РН ВРН БШ ОНДСЛЮКХ).
рЕОЕПЭ ОПНБЕПЭРЕ ВРН АШ ЯРПНЙЮ 01 ЯНДЕПФЮКЮ РН ВРН БШДЮКЮ ЙНЛЮМДЮ which. еЯКХ ЯНБОЮКН РН ББЕДХРЕ:
test1.pl
Х АЭЧЯЭ МЮ 50$, ВРН Х РЕОЕПЭ ОПНЦПЮЛЛЮ МЕ ГЮПЮАНРЮЕР, РЮЙ ЙЮЙ ОПЮБХКЭМЕИ ББЕЯРХ:
./test1.pl
еЯКХ Ъ ОПНХЦПЮК, РН МЕ ПЮДСИРЕЯЭ. дЮ ФЕ ЕЯКХ БЮЛ СДЮКНЯЭ ГЮОСЯРХРЭ ОПНЦПЮЛЛС ЙЮЙ test1.pl ЩРН ГМЮВХР, ВРН С БЮЯ АСДСР МЕОПХЪРМНЯРХ Б АСДСЫЕЛ.
оПХЛЕП 2.
дЮММЮЪ ОПНЦПЮЛЛЮ БШБНДХР МЮ ЩЙПЮМ
БЯЕ БЮЬХ ЯЕЙПЕРШ. ю ХЛЕММН ТЮИК
/etc/passwd.
#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "тЮИК МЕ МЮИДЕМ!"; while(<PASS>) { print; } close(PASS);
оНЪЯМЕМХЪ:
open(PASS, "</etc/passwd") || die "тЮИК МЕ МЮИДЕМ!";
"нРЙПШРЭ" ТЮИК, Р.Е. ЯНГДЮРЭ СЙЮГЮРЕКЭ ТЮИКЮ PASS, Х Б ЯКСВЮЕ НЬХАЙХ БШДЮРЭ "тЮИК МЕ МЮИДЕМ!" Х ГЮЙНМВХРЭ ОПНЦПЮЛЛС.
while(<PASS>)
вХРЮРЭ ОН НДМНИ ЯРПНЙЕ ТЮИКЮ Б ОЕПЕЛЕММСЧ ОН СЛНКВЮМХЧ $_.
{
нРЙПШРЭ АКНЙ НОЕПЮРНПНБ.
print;
бШБЕЯРХ МЮ ЩЙПЮМ ОЕПЕЛЕММСЧ ОН СЛНКВЮМХЧ $_
}
йНМЕЖ АКНЙЮ.
close(PASS);
гЮЙПШРЭ ТЮИК. щРНЦН ЛНФМН Х МЕ ДЕКЮРЭ, Р. Й. ТЮИК ЮБРНЛЮРХВЕЯЙХ ГЮЙПНЕРЯЪ ОНЯКЕ НЙНМВЮМХЪ ОПНЦПЮЛЛШ.
пЕГСКЭРЮР ПЮАНРШ ЩРНИ ОПНЦПЮЛЛШ РНР ФЕ ВРН Х ЙНЛЮМДШ cat /etc/passwd. оН ЩЙПЮМС ОПНАЕФЮКХ МЕОНМЪРМШЕ ЯРПНЙХ МН ГЮРН РЕОЕПЭ ОЕПЕД БЮЛХ НРЙПШРШ ЦНПХГНМРШ Perl ОПНЦПЮЛЛХПНБЮМХЪ! бЯЕ ОНЯКЕДСЧЫХЕ ОПХЛЕПШ АСДСР ПЮГБХРХЕЛ ЩРНИ ОПНЦПЮЛЛШ Х НМЮ ОПЕБПЮРХРЯЪ ХГ ЦЮДЙНЦН СРЕМЙЮ Б ОПЕЙПЮЯМНЦН КЕАЕДЪ (МЕ ЦЕМЕПЮКЮ).
оПХЛЕП 3.
пЮГДЕКЕМХЕ ОНКЕИ.
#!/usr/local/bin/perl open(PASS, "</etc/passwd") || die "тЮИК МЕ МЮИДЕМ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $name\n"; } close(PASS);
оНЪЯМЕМХЕ:
($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':');
оПХЯБНХРЭ СЙЮГЮММШЛ ОЕПЕЛЕММШЛ ОНКЪ БУНДМНИ ЯРПНЙХ, ЯВХРЮЪ ПЮГДЕКХРЕКЕЛ ЯХЛБНК ':'.
print "$login \t $name\n";
бШБЕЯРХ login - ХЛЪ ОНКЭГНБЮРЕКЪ Х ЕЦН НОХЯЮМХЕ. оНКЪ ПЮГДЕКЕМШ ЯХЛБНКНЛ '\t' - РЮАСКЪЖХХ.
оПХЛЕП 4.
бШБЕЯРХ ХЛЕМЮ ОНКЭГНБЮРЕКЕИ,
НРЯНПРХПНБЮММШУ ОН ЦПСООЮЛ.
#!/usr/local/bin/perl open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "тЮИК МЕ МЮИДЕМ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); print "$login \t $gid \t $name\n"; } close(PASS);
оНЪЯМЕМХЪ:
open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "тЮИК МЕ МЮИДЕМ!";
б ДЮММНИ ЯРПНЙЕ БЕЯЭ ТНЙСЯ! бУНДМШЛ ТЮИКНЛ ДКЪ МЮЬЕИ ОПНЦПЮЛЛШ ЯРЮК БШУНД ЙНЛЮМДШ sort ЙНРНПЮЪ Х НРЯНПРХПСЕР БУНДМШЕ ДЮММШЕ.
тНПЛЮРХПНБЮММШИ БШБНД.
мС Ю РЕОЕПЭ МЮОЕВЮРЮЕЛ МЮ ЩЙПЮМЕ БЯЕ МЮЬХ ДЮММШЕ Б СДНАМНИ ТНПЛЕ.
#!/usr/local/bin/perl open(PASS, "sort -n -t : +3 -4 +0 /etc/passwd|") || die "тЮИК МЕ МЮИДЕМ!"; while(<PASS>) { ($login, $pass, $uid, $gid, $name, $home_dir, $shell) = split(':'); write(); # тНПЛЮРХПНБЮММШИ БШБНД ДЮММШУ. } close(PASS); exit 0; # гЮБЕПЬЕМХЕ ОПНЦПЮЛЛШ ############ нОХЯЮМХЕ ТНПЛШ БШБНДЮ ################## format STDOUT = оНКЭГНБЮРЕКЭ: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $name Login:@<<<<<<<< Uid:@<<< Gid:@<<< Home dir:@<<<<<<<<<<<<<<<<<<<<< $login, $uid, $gid, $home_dir . # щРН ОНЯКЕДМЪЪ ЯРПНЙЮ ОПНЦПЮЛЛШ
тПЮЦЛЕМР ПЕГСКЭРЮРЮ:
оНКЭГНБЮРЕКЭ: йЮКСФЯЙХИ КХЙЕПНБНДНВМШИ ГЮБНД. кСВЬХЕ БНДЙХ Х МЮЯРНИЙХ. гБНМХРЭ РНКЭЙН ОЕПЕД ОПЮГДМХЙНЛ йНЯРПХЙНБС юМЮРНКХЧ Р. 2-23-06,,, ---------------------------------------------------------------------- Login:uucryst Uid:1055 Gid:66 Home dir:/var/spool/uucppublic/ ---------------------------------------------------------------------- оНКЭГНБЮРЕКЭ: рНПЦНБШИ дНЛ дХКЕМ,,, ---------------------------------------------------------------------- Login:uudilen Uid:1075 Gid:66 Home dir:/var/spool/uucppublic ----------------------------------------------------------------------
еЯКХ БЮЛ ХМРЕПЕЯМН СГМЮРЭ ЙЮЙ ПЮАНРЮЕР ЩРЮ ОПНЦПЮЛЛЮ, РН ОЕПЕБЕПМХРЕ ЯРПЮМХЖС Х МЮВХМХРЕ ЯБНЕ ОСРЕЬЕЯРБХЕ Б ЛХПЕ Perl. фЕКЮЧ СДЮВХ!
[яНДЕПФЮМХЕ] [бОЕПЕД]