бЯРПНЕММШЕ ТСМЙЖХХ ХЯОНКЭГСЧРЯЪ ЙЮЙ РЕПЛШ БШПЮФЕМХИ Х ОНДПЮГДЕКЪЧРЯЪ МЮ ДБЕ ЙЮРЕЦНПХХ: ЯОХЯЙНБШЕ НОЕПЮРНПШ Х СМЮПМШЕ НОЕПЮРНПШ. щРН БКХЪЕР МЮ ХУ ОПХНПХРЕР ОН НРМНЬЕМХЧ Й НОЕПЮРНПС ',' - ГЮОЪРЮЪ. яОХЯЙНБШЕ НОЕПЮРНПШ ЛНЦСР ХЛЕРЭ ЛМНФЕЯРБН (ЯОХЯНЙ) ЮПЦСЛЕМРНБ, Ю СМЮПМШЕ РНКЭЙН НДХМ. рЮЙХЛ НАПЮГНЛ, ГЮОЪРЮЪ ГЮБЕПЬЮЕР ЮПЦСЛЕМРШ СМЮПМНЦН НОЕПЮРНПЮ Х ПЮГДЕКЪЕР ЮПЦСЛЕМРШ ЯОХЯЙНБНЦН. юПЦСЛЕМР СМЮПМНЦН НОЕПЮРНПЮ БНЯОПХМХЛЮЕРЯЪ НАШВМН Б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ, Ю ЯОХЯЙНБНЦН ЙЮЙ Б ЯЙЮКЪПМНЛ, РЮЙ Х ЯОХЯЙНБНЛ, ОПХВЕЛ ЯЙЮКЪПМШЕ ЮПЦСЛЕМРШ ХДСР ОЕПБШЛХ. б ДЮКЭМЕИЬЕЛ ЯОХЯЙНБШЕ ЮПЦСЛЕМРШ ЛШ АСДЕЛ НАНГМЮВЮРЭ ЯКНБНЛ 'LIST', ЩРН ГМЮВХР, ВРН ТСМЙЖХЪ ХЛЕЕР ЯОХЯНЙ ЮПЦСЛЕМРНБ, ПЮГДЕКЕММШУ ГЮОЪРНИ. юПЦСЛЕМРШ ТСМЙЖХИ ЛНФМН ГЮЙКЧВЮРЭ Б ЙПСЦКШЕ ЯЙНАЙХ Х РЮЙХЛ НАПЮГНЛ НАНГМЮВЮРЭ, ВРН "ЩРН ТСМЙЖХЪ" Х ОПХНПХРЕР МЕ ХЛЕЕР ГМЮВЕМХЪ, ХМЮВЕ ЩРН ЯОХЯЙНБШИ ХКХ СМЮПМШИ НОЕПЮРНП Я НОПЕДЕКЕММШЛ ТХЙЯХПНБЮММШЛ ОПХНПХРЕРНЛ. оПНАЕК ОНЯКЕ ХЛЕМХ ТСМЙЖХХ Х ЯЙНАЙНИ ГМЮВЕМХЪ МЕ ХЛЕЕР. оНЩРНЛС АСДЭРЕ БМХЛЮРЕКЭМШ!
оПХЛЕП:
print 1 + 2 + 3; # ПЕГСКЭРЮР 6 print(1+2)+3; # ПЕГСКЭРЮР 3 print (1+2)+3; # НОЪРЭ 3 print (1+2+3); # 6
еЯКХ ТСМЙЖХЪ БНГБПЮЫЮЕР ПЕГСКЭРЮР ЙЮЙ Б ЯЙЮКЪПМНЛ РЮЙ Х Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ, РН ЙНД БШУНДЮ ОН НЬХАЙЕ - ЯЙЮКЪП c МЕНОПЕДЕКЕММШЛ ГМЮВЕМХЕЛ ХКХ ОСЯРНИ ЯОХЯНЙ.
гЮОНЛМХРЕ ОПЮБХКН:
мЕ ЯСЫЕЯРБСЕР НАЫЕЦН ОПЮБХКЮ ОПЕНАПЮГНБЮМХЪ ЯОХЯЙЮ Б ЯЙЮКЪП!
йЮФДШИ НОЕПЮРНП Х ТСМЙЖХЪ ХЛЕЧР ЯБНИ БХД ГМЮВЕМХЪ Б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ. дКЪ НДМХУ ЩРН ЙНКХВЕЯРБН ЩКЕЛЕМРНБ ХГ ЯЙЮКЪПМНЦН ЙНМРЕЙЯРЮ. дКЪ ДПСЦХУ - ОЕПБШИ ЩКЕЛЕМР ЯОХЯЙЮ ХКХ ОНЯКЕДМХИ ХКХ ЙНКХВЕЯРБН СЯОЕЬМШУ НОЕПЮЖХИ. йЮФДШИ - ЯБНЕ, ЕЯКХ БШ ЯОЕЖХЮКЭМН МЕ СЙЮГШБЮЕРЕ.
нОЕПЮРНП '-X', abs, accept, alarm, atan2 Y, X, bind, binmode, bless, caller, chdir, chmod, chomp, chop, chown, chr, chroot, close, closedir, connect, cos, crypt, dbmclose, dbmopen, define, delete, die, do BLOCK, do ОНДОПНЦПЮЛЛЮ, do БШПЮФЕМХЕ, dump, each, eof, eval, exec, exists, exit, exp, fcntl, fileno, flock, fock, format, formline, getc, getlogin, getpeername, getpgrp PID, getppid, getpriority, цПСООЮ ЯХЯРЕЛМШУ БШГНБНБ, getsockname, getsockopt, glob, gmtime, goto, grep, hex, import, index, int, ioctl, join, keys, kill, last, lc, lcfirst, length, link, listen, local, localtime, log, lstat, m//, map, mkdir, msgctl, msgget, msgsnd, msgrcv, my, next, no Module, oct, open, opendir, ord, pack, pipe, pop, pos, print, printf, push, q/ЯРПНЙЮ/, qq/ЯРПНЙЮ/, qx/ЯРПНЙЮ/, qw/ЯРПНЙЮ/, quotemeta, rand, read, readdir, readlink, recv, redo, ref, rename, require, reset, return, reverse, rewindir, rindex, rmdir, s///, scalar, seek, seekdir, select, select RBITS, WBITS, EBITS, TIMEOUT, semctl, semget, semop, send, setpgrp, setpriority, setsockopt, shift, shmget, shmget, shmread, shutdown, sin, sleep, soket, soketpair, sort, splice, split, sprintf, sqrt, srand, stat, study, substr, symlink, syscall, sysread, system, syswrite, tell, telldir, tie, time, times, tr///, truncate, uc, ucfirst, umask, undef, unlink, unpack, untie, unshift, use, utime, values, vec, wait, waitpid, wantarray, warn, write, y///
-X СЙЮГЮРЕКЭ ТЮИКЮ -X БШПЮФЕМХЕ -X
оПНБЕПЙЮ ТЮИКЮ, ЦДЕ 'X' - НДМН ХГ МХФЕ НОХЯЮММШУ ГМЮВЕМХИ. щРН СМЮПМШИ НОЕПЮРНП Я НДМХЛ ЮПЦСЛЕМРНЛ - КХАН ХЛЕМЕЛ ТЮИКЮ, КХАН СЙЮГЮРЕКЕЛ ТЮИКЮ. оПНБЕПЪЕР НДМН ХГ СЯКНБХИ. еЯКХ ЮПЦСЛЕМР МЕ СЙЮГЮМ, РН АЕПЕРЯЪ ГМЮВЕМХЕ ОЕПЕЛЕММНИ $_. дКЪ ЙКЧВЮ -t - STDIN. пЕГСКЭРЮР 1, ЕЯКХ true, '', ЕЯКХ false ХКХ МЕНОПЕДЕКЕММНЕ ГМЮВЕМХЕ, ЕЯКХ ТЮИК МЕ МЮИДЕМ. мЕЯЛНРПЪ МЮ ЯРПЮММШИ БХД ЩРН СМЮПМШИ НОЕПЮРНП Я ЯННРБЕРЯРБСЧЫХЛ ОПХНПХРЕРНЛ. юПЦСЛЕМР ЛНФМН ГЮЙКЧВЮРЭ Б ЙПСЦКШЕ ЯЙНАЙХ. 'X' ХЛЕЕР ЯКЕДСЧЫХЕ ГМЮВЕМХЪ:
-r | тЮИК ПЮГПЕЬЕМ МЮ ВРЕМХЕ ЩТТЕЙРХБМШЛ uid/gid |
-w | МЮ ГЮОХЯЭ -//- |
-x | ХЯОНКМЕМХЕ -//- |
-o | ОПХМЮДКЕФХР ЩТТЕЙРХБМНЛС uid (ХДЕМРХТХЙЮРНП ОНКЭГНБЮРЕКЪ) |
-R | тЮИК ПЮГПЕЬЕМ МЮ ВРЕМХЕ ПЕЮКЭМШЛ uid/gid |
-W | МЮ ГЮОХЯЭ -//- |
-X | ХЯОНКМЕМХЕ -//- |
-O | ОПХМЮДКЕФХР ПЕЮКЭМНЛС uid |
-e | ТЮИК ЯСЫЕЯРБСЕР |
-z | ОСЯРНИ |
-s | МЕ ОСЯРНИ |
-f | НАШВМШИ РЕЙЯР |
-d | ДХПЕЙРНПХЪ |
-l | ЯХЛБНКХВЕЯЙЮЪ ЯЯШКЙЮ |
-p | pipes (ЙНМБЕИЕП) |
-S | socket (ЦМЕГДН) |
-b | ЯОЕЖХЮКЭМНЕ АКНВМНЕ СЯРПНИЯРБН |
-c | -//- ЯХЛБНКЭМНЕ -//- |
-t | СЙЮГЮРЕКЭ МЮ СЯР-БН tty |
-u | СЯРЮМНБКЕМ АХР setuid |
-g | -//- setgid |
-k | -//- sticky |
-T | РЕЙЯРНБНИ ТЮИК |
-B | ДБНХВМШИ |
-M | "БНГПЮЯР" ТЮИКЮ Б ДМЪУ МЮ ЛНЛЕМР ЯРЮПРЮ ЯЙПХОРЮ |
-A | ДМЕИ Я ОНЯКЕДМЕЦН ВРЕМХЪ |
-C | ДМЕИ Я ОНЯКЕДМЕИ ЛНДХТХЙЮЖХХ inode |
юАЯНКЧРМНЕ ГМЮВЕМХЕ БШПЮФЕМХЪ
accept NEWSOCKET, GENERICSOCKET
нРЙПШРЭ МНБШИ ЯНЙЕР ОН БМЕЬМЕЛС ГЮОПНЯС. юМЮКНЦХВМН ЯХЯРЕЛМНЛС БШГНБС accept(). бНГБПЮЫЮЕР ЮДПЕЯ ХКХ false Б ЯКСВЮЕ МЕСДЮВХ.
оНЯКЮРЭ ЯХЦМЮК SIGALARM РЕЙСЫЕЛС ОПНЖЕЯЯС ОН ХЯРЕВЕМХХ СЙЮГЮММНЦН ОПНЛЕФСРЙЮ БПЕЛЕМХ. мЕ ДНОСЯРХЛН ДЕКЮРЭ МЕЯЙНКЭЙН БШГНБНБ НДМНБПЕЛЕММН Б НДМНЛ ОПНЛЕФСРЙЕ БПЕЛЕМХ. бНГБПЮЫЮЕР НЯРЮРНЙ БПЕЛЕМХ ОПЕДШДСЫЕЦН ЯВЕРВХЙЮ.
юПЙРЮМЦЕМЯ НРМНЬЕМХЪ Y Й X Б ОПЕДЕКЮУ НР -pi ДН +pi.
мЮГМЮВХРЭ ЯЕРЕБНИ ЮДПЕЯ ЯНЙЕРС. оНДНАМН ЯХЯРЕЛМНЛС БШГНБС bind. бНГБПЮЫЮЕР true Б ЯКСВЮЕ СЯОЕУЮ Х false ХМЮВЕ. хЛЪ - ОЮЙЕРМШИ ЮДПЕЯ ЯНЙЕРЮ.
нРЙПШРЭ ТЮИК ДКЪ ДБНХВМНЦН (binary) ПЕФХЛЮ ДНЯРСОЮ. б НАШВМНЛ ПЕФХЛЕ ОПХ ББНДЕ ЯХЛБНКШ CR LF РПЮМЯКХПСЧРЯЪ Б LF, Ю ОПХ БШБНДЕ LF РПЮМЯКХПСЕРЯЪ Б CR LF.
bless ЯЯШКЙЮ, ЙКЮЯЯ
bless ЯЯШКЙЮ
дЮММЮЪ ТСМЙЖХЪ НОПЕДЕКЪЕР ВРН НАЗЕЙР СЙЮГЮММШИ ЯЯШКЙНИ ОПХМЮДКЕФХР ЙКЮЯЯС. еЯКХ ЙКЮЯЯ МЕ СЙЮГЮМ РН НМ НРМНЯХРЯЪ Й РЕЙСЫЕЛС ЙКЮЯЯС. нАШВМН ЩРН ОНЯКЕДМХИ НОЕПЮРНП Б ЙНМЯРПСЙРНПЕ НАЗЕЙРЮ. мЕНАУНДХЛН НАЪГЮРЕКЭМН СЙЮГШБЮРЭ ХЛЪ ЙКЮЯЯЮ ЕЯКХ НОПЕДЕКЪЕЛШИ НАЗЕЙР ЛНФЕР МЮЯКЕДНБЮРЭЯЪ ЙКЮЯЯНЛ-ОНРНЛЙНЛ.
бНГБПЮЫЮЕР ЙНМРЕЙЯР БШГНБЮ РЕЙСЫЕИ ОНДОПНЦПЮЛЛШ. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ true ЕЯКХ ЩРН ОНДОПНЦПЮЛЛЮ ХКХ ОПНЖЕДСПЮ БШГБЮММЮЪ НОЕПЮРНПЮЛХ eval() ХКХ require() Х false - ХМЮВЕ. б ЯОХЯЙНБНЛ ЩРН ЯОХЯНЙ ($package, $filename, $line), ЦДЕ
еЯКХ СЙЮГЮМН БШПЮФЕМХЕ РН БНГБПЮЫЮЕРЯЪ ЯОХЯНЙ:
($package, $filename, $line, $subroutine, $hasargs, $wantargs)
бШПЮФЕМХЕ НОПЕДЕКЪЕР "ЦКСАХМС" БКНФЕММНЯРХ ОПНЯЛНРПЮ ЯРЕЙЮ БШГНБНБ.
оПХЛЕМЕМХЕ ДЮММНИ ТСМЙЖХХ Б DB ОЮЙЕРЕ БНГБПЮЫЮЕР АНКЕЕ ДЕРЮКЭМСЧ ХМТНПЛЮЖХЧ. й ЯОХЯЙС ЮПЦСЛЕМРНБ ДНАЮБКЪЕРЯЪ ЯОХЯНЙ @DB::args.
оЕПЕИРХ Б ДХПЕЙРНПХЧ СЙЮГЮММСЧ БШПЮФЕМХЕЛ. еЯКХ БШПЮФЕМХЕ НРЯСРЯРБСЕР РН ОЕПЕИРХ Б "ДНЛЮЬМЧЧ" ДХПЕЙРНПХЧ. бНГБПЮЫЮЕР true Б ЯКСВЮЕ СЯОЕУЮ Х false - МЕСДЮВХ.
хГЛЕМХРЭ ОПЮБЮ ДНЯРСОЮ Й ТЮИКЮЛ СЙЮГЮММШЛ Б ЯОХЯЙЕ. оЕПБШИ ЩКЕЛЕМР Б ЯОХЯЙЕ - ВХЯКНБНЕ ,НАШВМН БНЯЭЛЕПХВМНЕ ГМЮВЕМХЕ ОПЮБ. бНГБПЮЫЮЕР ЙНКХВЕЯРБН ТЮИКНБ ЙНРНПШЛ АШКХ ХГЛЕМЕМШ ОПЮБЮ.
оПХЛЕП:
chmod 0666 'f1', 'f2', 'f3';
chomp ОЕПЕЛЕММЮЪ
chomp ЯОХЯНЙ
chomp
сДЮКЪЕР Б ЙНМЖЕ ЯРПНЙХ ЯХЛБНК СЙЮГЮММШИ ОЕПЕЛЕММНИ $/. нАШВМН ЩРН 'LF'. бНГБПЮЫЮЕР ЙНКХВЕЯРБН СДЮКЕММШУ ЯХЛБНКНБ. еЯКХ ОЕПЕЛЕММЮЪ МЕ СЙЮГЮМЮ РН ХЯОНКЭГСЕРЯЪ ОЕПЕЛЕММЮЪ $_. еЯКХ СЙЮГЮМ ЯОХЯНЙ РН НАПЮАЮРШБЮЕРЯЪ ЙЮФДЮЪ ЯРПНЙЮ ЯОХЯЙЮ Х БНГБПЮЫЮЕРЯЪ НАЫЕЕ ЙНКХВЕЯРБН СДЮКЕММШУ ЯХЛБНКНБ.
chop ОЕПЕЛЕММЮЪ
chop ЯОХЯНЙ
chop
оНКМНЯРЭЧ ЮМЮКНЦХВМН ТСМЙЖХХ chomp МН БЯЕЦДЮ СДЮКЪЕР ОНЯКЕДМХИ ЯХЛБНК ЯРПНЙХ.
хГЛЕМХРЭ "БКЮДЕКЭЖЮ" Х "ЦПСООС" ТЮИКНБ ЯОХЯЙЮ. оЕПБШИ ЩКЕЛЕМР - МНЛЕП МНБНЦН БКЮДЕКЭЖЮ, БРНПНИ МНЛЕП МНБНИ ЦПСООШ Ю ДЮКЕЕ ЯОХЯНЙ ТЮИКНБ. б АНКЭЬХМЯРБЕ Unix-ЯХЯРЕЛ БШ МЕ ЯЛНФЕРЕ ЯЛЕМХРЭ БКЮДЕКЭЖЮ ЕЯКХ БШ МЕ ЯСОЕПОНКЭГНБЮРЕКЭ, МН ЛНФЕРЕ ХГЛЕМХРЭ ЦПСООС ЕЯКХ ЩРН НДМЮ ХГ БЮЬХУ "БРНПХВМШУ" ЦПСОО.
бНГБПЮЫЮЕР ЯХЛБНК Я СЙЮГЮММШЛ ЙНДНЛ ЙНДХПНБЙХ.
яДЕКЮРЭ "ЙНПМЕБНИ" СЙЮГЮММСЧ ДХПЕЙРНПХЧ. "йНПМЕБЮЪ" - ГМЮВХР БМСРПХ ОПНЦПЮЛЛШ МЮ МЕЕ ЛНФМН ЯЯШКЮРЭЯЪ ЙЮЙ '/'.
гЮЙПШРЭ НРЙПШРШИ ТЮИК ХКХ ОНРНЙ. лНФМН МЕ ХЯОНКЭГНБЮРЭ, ЕЯКХ НДХМ Х РНР ФЕ ТЮИК НРЙПШБЮЕРЯЪ ОНБРНПМН, Р.Й. НМ АСДЕР ЮБРНЛЮРХВЕЯЙХ ГЮЙПШБЮРЭЯЪ МНБШЛ БШГНБНЛ open().
гЮЙПШРЭ ДХПЕЙРНПХЧ, НРЙПШРСЧ ТСМЙЖХЕИ opendir().
яБЪГЮРЭЯЪ Я СДЮКЕММШЛ ЯНЙЕРНЛ. дЮММЮЪ ТСМЙЖХЪ ОНДНАМЮ ЯХЯРЕЛМНЛС БШГНБС connect(). бНГБПЮЫЮЕР true Б ЯКСВЮЕ СЯОЕУЮ Х false ОПХ НЬХАЙЕ.
йНЯХМСЯ БШПЮФЕМХЪ Б ПЮДХЮМЮУ.
ьХТПЮЖХЪ РЕЙЯРЮ. юМЮКНЦХВМН ЯХЯРЕЛМНЛС crypt().
гЮЙПШБЮЕР ЯБЪГЭ ЛЕФДС УЕЬ Х АЮГНИ ДЮММШУ.
юЯЯНЖХХПНБЮРЭ СЙЮГЮММШИ УЕЬ Х АЮГС Б НОПЕДЕКЕММНЛ ПЕФХЛЕ. дЕКН Б РНЛ, ВРН Б Perl ПЕЮКХГНБЮМ НВЕМЭ СДНАМШИ ЛЕУЮМХГЛ ПЮАНРШ Я АЮГЮЛХ ДЮММШУ РХОЮ dbm, ndbm, sbdm, gdbm Х Berkeley DB. дКЪ ЩРНЦН МСФМН ЯБЪГЮРЭ (НРЙПШРЭ) АЮГС ОНД ХЛЕМЕЛ УЕЬЮ. бЯЪ ПЮАНРЮ Я ГЮОХЯЪЛХ АЮГШ БШОНКМЪЕРЯЪ РЮЙ, АСДРН ЩРН НАШВМШИ УЕЬ (ЮЯЯНЖХЮРХБМШИ ЛЮЯЯХБ). аНКЕЕ ОНДПНАМН ЯЛНРПХРЕ НОХЯЮМХЕ ТСМЙЖХХ AnyDBM().
бНГБПЮЫЮЕР true, ЕЯКХ ГМЮВЕМХЕ НОПЕДЕКЕМН (ЯСЫЕЯРБСЕР) Х false, ЕЯКХ МЕР. лМНЦХЕ НОЕПЮЖХХ ГЮБЕПЬЮЧРЯЪ МЕНОПЕДЕКЕММШЛ ГМЮВЕМХЕЛ, МЮОПХЛЕП ВРЕМХЕ ОНЯКЕ ЙНМЖЮ ТЮИКЮ, ХЯОНКЭГНБЮМХЕ МЕНОПЕДЕКЕММШУ ОЕПЕЛЕММШУ, ЯХЯРЕЛМШЕ НЬХАЙХ Х Р.Д. дЮММЮЪ ТСМЙЖХЪ ОНГБНКЪЕР ПЮГКХВЮРЭ МСКЕБНЕ Х МЕНОПЕДЕКЕММШЕ ГМЮВЕМХЪ, НОПЕДЕКЕММНЯРЭ ХКХ МЕНОПЕДЕКЕММНЯРЭ ТСМЙЖХИ ХКХ ЯЯШКНЙ. оПХ ХЯОНКЭГНБЮМХХ НОПЕДЕКЕММНЯРХ ЙКЧВЮ Б УЕЬЕ НМЮ БНГБПЮЫЮЕР НОПЕДЕКЕМ ДЮММШИ ЙКЧВ ХКХ МЕР, МН МЕ ЯСЫЕЯРБСЕР НМ ХКХ МЕР.
сДЮКХРЭ ГМЮВЕМХЕ ХГ УЕЬЮ. бНГБПЮЫЮЕР СДЮКЪЕЛНЕ ГМЮВЕМХЕ ХКХ МЕНОПЕДЕКЕММНЯРЭ, ЕЯКХ МХВЕЦН МЕ СДЮКЪЕРЯЪ. сДЮКЕМХЕ ХГ ЛЮЯЯХБЮ НЙПСФЕМХЪ $ENV{} - ХГЛЕМЪЕР НЙПСФЕМХЕ. сДЮКЕМХЕ ХГ УЕЬЮ ЯБЪГЮММНЦН Я АЮГНИ ДЮММШУ - СДЮКЪЕР ГЮОХЯЭ Б АЮГЕ ДЮММШУ.
еЯКХ ОПНЦПЮЛЛЮ МЕ АШКЮ ГЮОСЫЕМЮ ХГ eval(), ДЮММЮЪ ТСМЙЖХЪ БШБНДХР ЯОХЯНЙ Б ОНРНЙ STDERR Х ГЮБЕПЬЮЕР ПЮАНРС ОПНЦПЮЛЛШ Я ЙНДНЛ ХГ ОЕПЕЛЕММНИ $!. еЯКХ $! ЯНДЕПФХР 0, РН Я ЙНДНЛ ($? >> 8). еЯКХ Х ЩРН 0, РН Я ЙНДНЛ 255. оПХ БШГНБЕ ХГ eval() ЯННАЫЕМХЕ НА НЬХАЙЕ ГЮМНЯХРЯЪ Б ОЕПЕЛЕММСЧ $@, Х eval() ГЮБЕПЬЮЕРЯЪ Я МЕНОПЕДЕКЕММШЛ ГМЮВЕМХЕЛ. щРН ОНГБНКЪЕР НРПЮАЮРШБЮРЭ НЬХАНВМШЕ ЯХРСЮЖХХ, МЕ ГЮБЕПЬЮЪ ЦНКНБМНИ ЛНДСКЭ. еЯКХ ЯРПНЙЮ ХГ ЯОХЯЙЮ МЕ ГЮБЕПЬЮЕРЯЪ ЯХЛБНКНЛ '\n', РН ДНОНКМХРЕКЭМН ОЕВЮРЮЕРЯЪ МНЛЕП ЯРПНЙХ ЯЙПХОРЮ, НРЙСДЮ БШГБЮМЮ ТСМЙЖХЪ Х МНЛЕП БУНДМНИ ЯРПНЙХ, ЕЯКХ РЮЙНБНИ ХЛЕЕРЯЪ.
щРН МЕ ЯНБЯЕЛ ТСМЙЖХЪ. гДЕЯЭ БНГБПЮЫЮЕРЯЪ ГМЮВЕМХЕ ОНЯКЕДМЕЦН НОЕПЮРНПЮ АКНЙЮ. йНЦДЮ ХЯОНКЭГСЕРЯЪ ЖХЙКХВЕЯЙХИ ЛНДХТХЙЮРНП BLOCK ХЯОНКМЪЕРЯЪ ОЕПЕД ОПНБЕПЙНИ СЯКНБХЪ ЖХЙКЮ Б НРКХВХХ НР НАШВМШУ ЖХЙКНБ.
сЯРЮПЕБЬХИ ЛЕРНД БШГНБЮ ОНДОПНЦПЮЛЛ.
гМЮВЕМХЕ БШПЮФЕМХЪ БНЯОПХМХЛЮЕРЯЪ ЙЮЙ ХЛЪ ТЮИКЮ Perl ЯЙПХОРЮ. хГМЮВЮКЭМН ЩРН ОПХЛЕМЪКНЯЭ ДКЪ БЙКЧВЕМХЪ ОНДОПНЦПЮЛЛ АХАКХНРЕЙХ. яЕИВЮЯ ОПЮБХКЭМЕИ ХЯОНКЭГНБЮРЭ БШГНБШ use() Х require(), ЙНРНПШЕ НАЕЯОЕВХБЮЧР ЙНМРПНКЭ НЬХАНЙ Х ГЮБЕПЬЕМХЪ.
бШОНКМЕМХЕ "ДЮЛОЮ" РЕЙСЫЕИ ОЮЛЪРХ. оПХЛЕМЪКНЯЭ ДКЪ БНГЛНФМНЯРХ ХЯОНКЭГНБЮРЭ ОПНЦПЮЛЛС undump, ВРНАШ БЙКЧВХРЭ РЕЙСЫХИ ХЯОНКМЪЕЛШИ ЙНД Б ОПНЦПЮЛЛС ОНЯКЕ ХМХЖХЮКХГЮЖХХ БЯЕУ ОЕПЕЛЕММШУ. бШОНКМЕМХЕ ЩРНИ МНБНИ ОПНЦПЮЛЛШ АСДЕР МЮВХМЮРЭЯЪ НОЕПЮРНПНЛ goto ЛЕРЙЮ. еЯКХ ЛЕРЙЮ НОСЫЕМЮ, РН ГЮОСЯЙ ЯМЮВЮКЮ.
бМХЛЮМХЕ! тЮИКШ, НРЙПШРШЕ ДН ЛНЛЕМРЮ ДЮЛОЮ, МЕ АСДСР НРЙПШРШЛХ Б ЛНЛЕМР ХЯОНКМЕМХЪ МНБНИ ОПНЦПЮЛЛНИ.
бНГБПЮЫЮЕР 2-ЩКЕЛЕМРМШИ ЛЮЯЯХБ. оЕПБШИ ЩКЕЛЕМР - ЙКЧВ БРНПНИ - ГМЮВЕМХЕ ЯКЕДСЧЫЕЦН ЩКЕЛЕМРЮ УЕЬЮ. оНГБНКЪЕР "ОПНЯЛЮРПХБЮРЭ" БЯЕ ГМЮВЕМХЪ УЕЬЮ Б НОПЕДЕКЕММНЛ ОНПЪДЙЕ. яАПНЯ ОЕПЕЛЕММНИ ЖХЙКЮ ОПНХЯУНДХР РНКЭЙН ОНЯКЕ ОПНУНФДЕМХЪ БЯЕЦН ЛЮЯЯХБЮ.
бНГБПЮЫЮЕР 1, ЕЯКХ БШОНКМЪЕРЯЪ ВРЕМХЕ ОНЯКЕ ЙНМЖЮ ХКХ ВРЕМХЕ ХГ МЕ НРЙПШРНЦН ТЮИКЮ. юПЦСЛЕМРНЛ ДНКФМН АШРЭ БШПЮФЕМХЕ, БНГБПЮЫЮЧЫЕЕ ЯСЫЕЯРБСЧЫХИ СЙЮГЮРЕКЭ ТЮИКЮ. дЮММСЧ ТСМЙЖХЧ МЕКЭГЪ ХЯОНКЭГНБЮРЭ ДКЪ ВРЕМХЪ ТЮИКНБ, НРЙПШРШУ ЙЮЙ РЕПЛХМЮКШ. еЯКХ ЮПЦСЛЕМР МЕ СЙЮГЮМ, РН ХЯОНКЭГСЕРЯЪ ОНЯКЕДМХИ ВХРЮЕЛШИ ТЮИК. хЯОНКЭГНБЮМХЕ Б ТНПЛЕ eof() ЖЕКЕЯННАПЮГМН ОПХЛЕМЪРЭ Б ЖХЙКЮУ while(<>) ДКЪ НОПЕДЕКЕМХЪ ЙНМЖЮ РНКЭЙН ОНЯКЕДМЕЦН ТЮИКЮ ХГ ЯОХЯЙЮ. оПХЛЕМЪИРЕ eof(ARGV) ХКХ eof ДКЪ НОПЕДЕКЕМХЪ ЙНМЖЮ ЙЮФДНЦН ТЮИКЮ ХГ ЯОХЯЙЮ.
бШПЮФЕМХЕ ЯЙЮМХПСЕРЯЪ Х БШОНКМЪЕРЯЪ ЙЮЙ НАШВМЮЪ Perl ОПНЦПЮЛЛЮ. щРН ДЕКЮЕРЯЪ Б ЙНМРЕЙЯРЕ РЕЙСЫЕИ ОПНЦПЮЛЛШ, ОНЩРНЛС ЛНФМН ХЯОНКЭГНБЮРЭ СФЕ НОПЕДЕКЕММШЕ ОЕПЕЛЕММШЕ Х ОНДОПНЦПЮЛЛШ. бНГБПЮЫЮЕРЯЪ ПЕГСКЭРЮР ОНЯКЕДМЕЦН НОЕПЮРНПЮ Б АКНЙЕ ХКХ ГМЮВЕМХЕ НОЕПЮРНПЮ return. еЯКХ НАМЮПСФХРЯЪ ЯХМРЮЙЯХВЕЯЙЮЪ НЬХАЙЮ ХКХ БШОНКМХРЯЪ НОЕПЮРНП die, РН БНГБПЮЫЮЕРЯЪ МЕНОПЕДЕКЕММНЕ ГМЮВЕМХЕ, Ю ОЕПЕЛЕММЮЪ $@ ЯНДЕПФХР ЯННАЫЕМХЕ НА НЬХАЙЕ. еЯКХ НЬХАЙХ МЕ АШКН, РН $@ ЯНДЕПФХР МСКЕБСЧ ЯРПНЙС. оПХ НРЯСРЯРБХХ ЮПЦСЛЕМРЮ АЕПЕРЯЪ ГМЮВЕМХЕ ОЕПЕЛЕММНИ $_.
бШОНКМЪЕРЯЪ ЯХЯРЕЛМЮЪ ЙНЛЮМДЮ ХГ ЯОХЯЙЮ, Х БШОНКМЕМХЕ ОПНЦПЮЛЛШ ГЮБЕПЬЮЕРЯЪ. еЯКХ БЮЛ МЕНАУНДХЛН БЕПМСРЭЯЪ, РН КСВЬЕ ОПХЛЕМЪИРЕ ТСМЙЖХЧ system(). еЯКХ Б ЯОХЯЙЕ ЙНКХВЕЯРБН ЮПЦСЛЕМРНБ АНКЭЬЕ 1 ХКХ ЯОХЯНЙ - ЩРН ЛЮЯЯХБ Я ЙНКХВЕЯРБНЛ ЩКЕЛЕМРНБ АНКЭЬЕ 1, РН БШОНКМЪЕРЯЪ ЯХЯРЕЛМШИ БШГНБ execvp() Я ЮПЦСЛЕМРЮЛХ ХГ ЯОХЯЙЮ. еЯКХ НДХМ ЯЙЮКЪПМШИ ЮПЦСЛЕМР, РН НМ ЯЙЮМХПСЕРЯЪ МЮ НАПЮАНРЙС ЛЕРЮЯХЛБНКНБ, Х ЕЯКХ НМХ ОПХЯСРЯРБСЧР, РН ОНКСВЕММШЕ ЮПЦСЛЕМРШ ОЕПЕДЮЧРЯЪ ХМРЕПОПЕРЮРНПС /bin/sh -c ДКЪ ДЮКЭМЕИЬЕИ НАПЮАНРЙХ. еЯКХ ЛЕРЮЯХЛБНКНБ МЕР, РН ЮПЦСЛЕМР ПЮЯЫЕОКЪЕРЯЪ МЮ ЯКНБЮ Х ОЕПЕДЮЕРЯЪ ЯХЯРЕЛМНЛС БШГНБС execvp(), ВРН АНКЕЕ ЩТТЕЙРХБМН.
бМХЛЮМХЕ! exec() Х system(0) МЕ ЯАПЮЯШБЮЧР АСТЕП ББНДЮ/БШБНДЮ, ОНЩРНЛС МЕНАУНДХЛН СЯРЮМНБХРЭ ОЕПЕЛЕММСЧ $| ДКЪ ОПЕДНРБПЮЫЕМХЪ ОНРЕПХ БШУНДМНИ ХМТНПЛЮЖХХ.
бНГБПЮЫЮЕР true, ЕЯКХ ЯСЫЕЯРБСЕР СЙЮГЮММШИ ЙКЧВ УЕЬЮ, ДЮФЕ ЕЯКХ МЕ НОПЕДЕКЕМН ЕЦН ГМЮВЕМХЕ.
бШОНКМЕМХЕ ОПНЦПЮЛЛШ ГЮБЕПЬЮЕРЯЪ Я ЙНДНЛ БШПЮФЕМХЪ.
бНГБПЮЫЮЕР e (НЯМНБЮМХЕ МЮРСПЮКЭМНЦН КНЦЮПХТЛЮ) Б ЯРЕОЕМХ БШПЮФЕМХЪ.
бШОНКМЪЕР ЯХЯРЕЛМШИ БШГНБ fcntl(). дКЪ ХЯОНКЭГНБЮМХЪ НАЪГЮРЕКЭМН БШОНКМХРЭ use Fcntl;
бНГБПЮЫЮЕР НОХЯЮРЕКЭ ТЮИКЮ ДКЪ ДЮММНЦН СЙЮГЮРЕКЪ ТЮИКЮ.
яХЯРЕЛМШИ БШГНБ flock()
яХЯРЕЛМШИ БШГНБ fock(). бНГБПЮЫЮЕР pid ОНРНЛЙЮ ДКЪ ПНДХРЕКЪ Х 0 - ДКЪ ОНРНЛЙЮ Б ЯКСВЮЕ СЯОЕУЮ, ХМЮВЕ - МЕНОПЕДЕКЕММНЕ ГМЮВЕМХЕ.
дЕЙКЮПЮРХБМЮЪ ТСМЙЖХЪ Perl. нОПЕДЕКЪЕР ТНПЛЮР БШБНДЮ ДКЪ НОЕПЮРНПЮ write. оНДПНАМН ЯЛНРПХРЕ ЦКЮБС тНПЛЮРШ.
бМСРПЕММЪЪ ТСМЙЖХЪ, ХЯОНКЭГСЕЛЮЪ Б format. тНПЛЮРХПСЕР БШБНД ОЮПЮЛЕРПНБ ХГ ЯОХЯЙЮ. пЕГСКЭРЮР ОНЛЕЫЮЕРЯЪ Б ОЕПЕЛЕММСЧ $^A тСМЙЖХЪ write ОПНЯРН БШБНДХР ГМЮВЕМХЕ ЩРНИ ОЕПЕЛЕММНИ, МН ЕЕ РЮЙ ФЕ ЛНФМН ВХРЮРЭ, Ю ГЮРЕЛ НАМСКЪРЭ. нАШВМН format БШОНКМЪЕР НДХМ БШГНБ formline ДКЪ НДМНИ ЯРПНЙХ ТНПЛШ, МН formline МЕ ПЮГДЕКЪЕР ЯРПНЙХ ТНПЛЮРЮ. щРН ГМЮВХР ВРН ЯХЛБНКШ '~' Х '~~' ПЮЯЯЛЮРПХБЮЧР БЕЯЭ ТНПЛЮР ЙЮЙ НДМС ЯРПНЙС, ОНЩРНЛС МЕНАУНДХЛН ХЯОНКЭГНБЮРЭ ЛМНЦНЯРПНВМШЕ ТНПЛШ ДКЪ НОХЯЮМХЪ НДМНИ ГЮОХЯХ ТНПЛЮРЮ.
вХРЮЕР Х БНГБПЮЫЮЕР ЯХЛБНК ХГ СЙЮГЮММНЦН ТЮИКЮ. еЯКХ ТЮИК МЕ СЙЮГЮМ, РН ВХРЮЕРЯЪ STDIN. оНЯКЕ ЙНМЖЮ ТЮИКЮ БНГБПЮЫЮЕР ОСЯРСЧ ЯРПНЙС.
бНГБПЮЫЮЕР РЕЙСЫХИ login ХГ ТЮИКЮ /etc/utmp мЕ ОПХЛЕМЪИРЕ ДКЪ ХДЕМРХТХЙЮЖХХ ОНКЭГНБЮРЕКЪ, НМ МЕ РЮЙ ЯХКЭМН "ГЮЙПШР" ЙЮЙ getpwuid().
бНГБПЮЫЮЕР СОЮЙНБЮММШИ ЮДПЕЯ СДЮКЕММНЦН ЯНЙЕРЮ.
бНГБПЮЫЮЕР ЦПСООС ОПНЖЕЯЯЮ Я СЙЮГЮММШЛ PID. еЯКХ ЮПЦСЛЕМР НРЯСРЯРБСЕР, БНГБПЮЫЮЕР ЦПСООС РЕЙСЫЕЦН ОПНЖЕЯЯЮ.
бНГБПЮЫЮЕР PID ПНДХРЕКЭЯЙНЦН ОПНЖЕЯЯЮ.
бНГБПЮЫЮЕР РЕЙСЫХИ ОПХНПХРЕР ОПНЖЕЯЯЮ, ЦПСООШ ОПНЖЕЯЯНБ ХКХ ОНКЭГНБЮРЕКЪ.
бЯЕ ЩРХ ТСМЙЖХХ ЮМЮКНЦХВМШ НДМНХЛЕММШЛ ЯХЯРЕЛМШЛ БШГНБЮЛ. б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЧР ЯКЕДСЧЫХЕ ЯОХЯЙХ:
($name, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = getpw* ($name, $passwd, $gid, $members) = getgr* ($name, $aliases, $addrtype, $length, @addrs) = gethost* ($name, $aliases, $addrtype, $net) = getnet* ($name, $aliases, $proto) = getproto* ($name, $aliases, $port, $proto) = getserv*
б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕРЯЪ ХЛЪ ХКХ ВРН-РН ДПСЦНЕ, Б ГЮБХЯХЛНЯРХ НР РХОЮ ТСМЙЖХХ. щКЕЛЕМР $members Б БШГНБЕ getgr ЯНДЕПФХР ПЮГДЕКЕММШЕ ОПНАЕКНЛ ХЛЕМЮ ВКЕМНБ ЦПСООШ. @addrs ЯНДЕПФХР IP ЮДПЕЯЮ ЙНЛОЭЧРЕПНБ Б ЯЕРХ хМРЕПМЕР Б СОЮЙНБЮММНЛ БХДЕ. дКЪ ПЮЯОЮЙНБЙХ ОПХЛЕМЪИРЕ: ($a, $b, $c, $d) = unpack('C4',$addr[0]);
бНГБПЮЫЮЕР СОЮЙНБЮММШИ ЮДПЕЯ ЯНЙЕРЮ КНЙЮКЭМНИ ЛЮЬХМШ.
getsockopt ЯНЙЕР, СПНБЕМЭ, НОЖХЪ
бНГБПЮЫЮЕР НОЖХЧ ЯНЙЕРЮ.
бНГБПЮЫЮЕР ЯОХЯНЙ ТЮИКНБ, СДНБКЕРБНПЪЧЫХУ БШПЮФЕМХЧ Я '*', ЙЮЙ Б ЙНЛЮМДЕ ls.
оЕПЕБНДХР ЛЕЯРМНЕ БПЕЛЪ, ОНКСВЕММНЕ ТСМЙЖХЕИ time(), БН БПЕЛЪ ОН цПХМБХВС. нАШВМН ХЯОНКЭГСЕРЯЪ Б БХДЕ:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=gmtime(time);
goto ЛЕРЙЮ
goto БШПЮФЕМХЕ
goto &ОНДОПНЦПЮЛЛЮ
аЕГСЯКНБМШИ ОЕПЕУНД МЮ ЛЕРЙС. мЕКЭГЪ ДЕКЮРЭ ОЕПЕУНД МЮ ЛЕРЙС Б ЯРПСЙРСПС, ЙНРНПЮЪ ДНКФМЮ АШРЭ ХМХЖХХПНБЮМЮ, МЮОПХЛЕП, ОНДОПНЦПЮЛЛС ХКХ ЖХЙК foreach Х Р.Д. бРНПЮЪ ТНПЛЮ ОПХЛЕМЪЕРЯЪ ДКЪ ДХМЮЛХВЕЯЙНЦН НОПЕДЕКЕМХЪ ОЕПЕУНДЮ.
мЮОПХЛЕП:
goto ('ЛЕРЙЮ1', 'ЛЕРЙЮ2', 'ЛЕРЙЮ3')[$i];
гДЕЯЭ ОПХ $i = 0 АСДЕР ОЕПЕУНД МЮ 'ЛЕРЙЮ1', $i = 1 МЮ 'ЛЕРЙЮ2' Х Р.Д. рПЕРЭЪ ТНПЛЮ (goto &ОНДОПНЦПЮЛЛЮ) ДНБНКЭМН "УХРПШИ" ЛЕРНД ОНДЛЕМШ ХЛЕМХ БШГШБЮЕЛНИ ОНДОПНЦПЮЛЛШ ХЛЕМЕЛ РЕЙСЫЕИ. щРН ХЯОНКЭГСЕРЯЪ Б ЛЕРНДЕ ЮБРНГЮЦПСГЙХ, ЙНЦДЮ МСФМН ГЮОСЯРХРЭ ДПСЦСЧ ОПНЖЕДСПС, МН ОНД ХЛЕМЕЛ РЕЙСЫЕИ, ЙЮЙ АСДРН РЮ АШКЮ БШГБЮМЮ ПЮМЭЬЕ.
grep АКНЙ, ЯОХЯНЙ
grep БШПЮФЕМХЕ, ЯОХЯНЙ
бШОНКМЪР АКНЙ ХКХ БШПЮФЕМХЕ ДКЪ ЙЮФДНЦН ЩКЕЛЕМРЮ ЯОХЯЙЮ. оЕПЕЛЕММЮЪ $_ ЯНДЕПФХР РЕЙСЫХИ ЩКЕЛЕМР. бНГБПЮЫЮЕР ЯОХЯНЙ ЩКЕЛЕМРНБ, Я ЙНРНПШЛХ БШПЮФЕМХЕ ДЮКН ПЕГСКЭРЮР true. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ЙНКХВЕЯРБН ПЕГСКЭРЮРНБ true.
бНЯОПХМХЛЮЕР БШПЮФЕМХЕ ЙЮЙ ЯРПНЙС ЬЕЯРМЮДЖЮРЕПХВМШУ ЖХТП Х БНГБПЮЫЮЕР ДЕЯЪРХВМНЕ ГМЮВЕМХЕ.
б Perl МЕР БЯРПНЕММНИ ТСМЙЖХХ import, МН ЕЯРЭ ЛЕРНД, Я ОНЛНЫЭЧ ЙНРНПНЦН ЛНДСКХ ЛНЦСР ЩЙЯОНПРХПНБЮРЭ НАКЮЯРЭ ХЛЕМ ДПСЦХЛ ЛНДСКЪЛ. оНДПНАМН ЯЛНРПХРЕ ТСМЙЖХЧ use().
index ЯРПНЙЮ,
ОНДЯРПНЙЮ, ОНГХЖХЪ
index ЯРПНЙЮ, ОНДЯРПНЙЮ
бНГБПЮЫЮЕР ОНГХЖХЧ ОЕПБНЦН БУНФДЕМХЪ ОНДЯРПНЙХ Б ЯРПНЙЕ, МЮВХМЮЪ Я СЙЮГЮММНИ ОНГХЖХХ. еЯКХ ОНГХЖХЪ НРЯСРЯРБСЕР, РН ЯПЮБМЕМХЕ МЮВХМЮЕРЯЪ Я МЮВЮКЮ ЯРПНЙХ. нРЯВЕР ОНГХЖХХ БЕДЕРЯЪ Я 0, ЕЯКХ РНКЭЙН МЕ ХГЛЕМЕМН ГМЮВЕМХЕ БЯРПНЕММНИ ОЕПЕЛЕММНИ $[. еЯКХ ОНДЯРПНЙЮ МЕ МЮИДЕМЮ, РН ПЕГСКЭРЮР ЛЕМЭЬЕ ОЕПБНИ ОНГХЖХХ МЮ 1. нАШВМН ЩРН -1.
бНГБПЮЫЮЕР ЖЕКСЧ ВЮЯРЭ БШПЮФЕМХЪ.
ioctl FILEHANDLE, FUNCTION, SCALAR
бШОНКМЪЕР ЯХЯРЕЛМШИ БШГНБ ioctl(). б МЮВЮКЕ ОПНЦПЮЛЛШ МЕНАУНДХЛН СЙЮГЮРЭ: require "ioctl.ph";
яНЕДХМЪЕР ЯРПНЙХ ЯОХЯЙЮ ХКХ ЛЮЯЯХБЮ Б НДМС ЯРПНЙС Я ЙНДНЛ ПЮГДЕКХРЕКЪ, ПЮБМНЛС БШПЮФЕМХЧ.
бНГБПЮЫЮЕР ЛЮЯЯХБ БЯЕУ ЙКЧВЕИ УЕЬЮ. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ - ЙНКХВЕЯРБН ЙКЧВЕИ. оНПЪДНЙ ЯКЕДНБЮМХЪ ЙКЧВЕИ ЮМЮКНЦХВЕМ ОНПЪДЙС Б each ТСМЙЖХХ.
оНЯКЮРЭ ЯХЦМЮК (ОЕПБШИ ЩКЕЛЕМР) СЙЮГЮММШЛ Б ЯОХЯЙЕ ОПНЖЕЯЯЮЛ. бНГБПЮЫЮЕР ЙНКХВЕЯРБН ОПНЖЕЯЯНБ ЙНРНПШЕ ЯХЦМЮК ОПХМЪКХ.
тСМЙЖХЪ ЮМЮКНЦХВМЮЪ break Б я. оПЕПШБЮЕР ЖХЙК Х ОЕПЕУНДХР МЮ СЙЮГЮММСЧ ЛЕРЙС. еЯКХ ЛЕРЙХ МЕР МЮ АКХФЮИЬХИ БМЕЬМХИ ЖХЙК. аКНЙ continue МЕ БШОНКМЪЕРЯЪ.
оПЕНАПЮГНБЮРЭ ЯРПНЙС Б АСЙБШ МХФМЕЦН ПЕЦХЯРПЮ.
гЮЛЕМХРЭ ОЕПБСЧ АСЙБС ЯРПНЙХ МЮ ЛЮКСЧ.
бНГБПЮЫЮЕР ДКХМС ЯРПНЙХ БШПЮФЕМХЪ.
яНГДЮРЭ ТЮИК NEWFILE ЯБЪГЮММШИ Я ТЮИКНЛ OLDFILE.
бШОНКМХРЭ ЯХЯРЕЛМШИ listen().
нАЗЪБКЪЕР ОЕПЕВХЯКЕММШЕ ОЕПЕЛЕММШЕ ЙЮЙ КНЙЮКЭМШЕ Б РЕЙСЫЕЛ АКНЙЕ ХКХ ОНДОПНЦПЮЛЛЕ. еЯКХ СЙЮГЮМН ДБЮ Х АНКЕЕ ХЛЕМХ, ХУ МЕНАУНДХЛН ГЮЙКЧВХРЭ Б ЙПСЦКШЕ ЯЙНАЙХ. оПЕДОНВРХРЕКЭМЕИ ХЯОНКЭГНБЮРЭ ТСМЙЖХЧ my().
оПЕНАПЮГНБЮРЭ 9-ЩКЕЛЕМРМШИ ЛЮЯЯХБ, БНГБПЮЫЮЕЛШИ ТСМЙЖХЕИ time, НРМНЯХРЕКЭМН ЛЕЯРМНЦН БПЕЛЕМХ. сОНРПЕАКЪЕРЯЪ ЙЮЙ:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
бНГБПЮЫЮЕР МЮРСПЮКЭМШИ КНЦЮПХТЛ БШПЮФЕМХЪ.
рН ФЕ ВРН Х ЯХЯРЕЛМШИ БШГНБ stat(), МН ЙЮЯЮРЕКЭМН ЯЯШКЙХ МЮ ТЮИК, Ю МЕ ЯЮЛНЦН ТЮИКЮ.
нОЕПЮРНП ЯНБОЮДЕМХЪ. яЛНРПХ ЦКЮБС нОЕПЮРНПШ
map АКНЙ, ЯОХЯНЙ
map БШПЮФЕМХЕ, ЯОХЯНЙ
бШОНКМЪЕР АКНЙ ХКХ БШПЮФЕМХЕ ДКЪ ЙЮФДНЦН ЩКЕЛЕМРЮ ЯОХЯЙЮ. бНГБПЮЫЮЕР ЯОХЯНЙ ПЕГСКЭРЮРНБ.
яНГДЮРЭ ДХПЕЙРНПХЧ Я СЙЮГЮММШЛХ ОПЮБЮЛХ ДНЯРСОЮ. бНГБПЮЫЮЕР 1 ОПХ СЯОЕУЕ, Х 0 ОПХ МЕСДЮВЕ.
яХЯРЕЛМШИ БШГНБ msgctl() System V
яХЯРЕЛМШИ БШГНБ msgget() System V
яХЯРЕЛМШИ БШГНБ msgsnd() System V
msgrcv ID, VAR, SIZE, TYPE, FLAGS
яХЯРЕЛМШИ БШГНБ msgrcv() System V
нАЗЪБКЪЕР КНЙЮКЭМШЛХ ОЕПЕЛЕММШЕ Б ЯОХЯЙЕ. еЯКХ ДБЮ ХКХ АНКЕЕ ХЛЕМХ, ХУ МЕНАУНДХЛН ГЮЙКЧВХРЭ Б ЙПСЦКШЕ ЯЙНАЙХ.
юМЮКНЦХВЕМ continue Б я. оЕПЕУНД Й ЯКЕДСЧЫЕИ ХРЕПЮЖХХ Б ЖХЙКЕ. еЯКХ Б ЖХЙКЕ ОПХЯСРЯРБСЕР АКНЙ continue, НМ РЮЙ ФЕ БШОНКМЪЕРЯЪ. еЯКХ ЛЕРЙЮ НРЯСРЯРБСЕР - ОЕПЕУНД МЮ АКХФЮИЬХИ БМСРПЕММХИ ЖХЙК.
хЯЙКЧВХРЭ ХЯОНКЭГНБЮМХЕ СЙЮГЮММШУ ЛНДСКЕИ.
бНГБПЮЫЮЕР ДЕЯЪРХВМНЕ ВХЯКН, ОПЕДЯРЮБКЕММНЕ БНЯЭЛЕПХВМШЛХ ЖХТПЮЛХ.
open ТЮИК, БШПЮФЕМХЕ
open ТЮИК
нРЙПШРЭ ТЮИК Я СЙЮГЮММШЛ ХЛЕМЕЛ. юПЦСЛЕМР "ТЮИК" - ЩРН ТЮЙРХВЕЯЙХ СЙЮГЮРЕКЭ МЮ АКНЙ НОХЯЮМХЪ ТЮИКЮ. еЯКХ ХЛЪ (БШПЮФЕМХЕ) ТЮИКЮ НРЯСРЯРБСЕР, РН ХЛЪ ЯВХРЮЕРЯЪ РЮЙХЛ ФЕ ЙЮЙ Х СЙЮГЮРЕКЭ ТЮИКЮ. еЯКХ ОЕПЕД ХЛЕМЕЛ ЯРНХР ЯХЛБНК '<' РН ТЮИК НРЙПШБЮЕРЯЪ РНКЭЙН МЮ ВРЕМХЕ (ГМЮВЕМХЕ ОН СЛНКВЮМХЧ). еЯКХ '>' - МЮ ГЮОХЯЭ. еЯКХ '>>' - МЮ ДНАЮБКЕМХЕ ГЮОХЯЕИ. '+>' ХКХ '+<' - ТЮИК НРЙПШР МЮ ВРЕМХЕ Х ГЮОХЯЭ НДМНБПЕЛЕММН. еЯКХ ХЛЪ ТЮИКЮ МЮВХМЮЕРЯЪ Я ЯХЛБНКЮ '|', РН ХЛЪ ЯВХРЮЕРЯЪ ЯХЯРЕЛМНИ ЙНЛЮМДНИ, МЮ БУНД ЙНРНПНИ БШБНДЪРЯЪ ДЮММШЕ (ОНРНЙ). хЛЪ '-' - ЯРЮМДЮПРМШИ БУНД (STDIN), '>-' - ЯРЮМДЮПРМШИ БШБНД (STDOUT). тСМЙЖХЪ БНГБПЮЫЮЕР true ОПХ СЯОЕУЕ Х false - МЕСДЮВЕ.
еЯКХ ХЛЪ (БШПЮФЕМХЕ) МЮВХМЮЕРЯЪ Я ЯХЛБНКНБ ">&", РН НЯРЮРНЙ ХЛЕМХ ЯВХРЮЕРЯЪ ХЛЕМЕЛ СЙЮГЮРЕКЪ ТЮИКЮ, ЙНРНПШИ НРЙПШБЮЕРЯЪ ОНБРНПМН. яХЛБНК '&' ЛНФЕР ЯРНЪРЭ ОНЯКЕ '<', '>>', '+>', '+>>' Х '+<'. пЕФХЛ ОНБРНПМНЦН НРЙПШРХЪ ДНКФЕМ ЯННРБЕРЯРБНБЮРЭ ОЕПБНЛС. бШПЮФЕМХЕ БХДЮ "<&=N" ЦДЕ N -ВХЯКН, ЩЙБХБЮКЕМРМН ЯХЯРЕЛМНЛС БШГНБС fdopen(). еЯКХ ХЛЪ "|-" ХКХ "-|", РН ОПНХЯУНДХР "ПЮЯЫЕОКЕМХЕ" (fork) ОПНЖЕЯЯЮ МЮ ОНРНЛЙЮ Х ПНДХРЕКЪ. оПХ ЩРНЛ БНГБПЮЫЮЕРЯЪ МНЛЕП ОПНЖЕЯЯЮ ОНРНЛЙЮ (PID) БМСРПХ ПНДХРЕКЭЯЙНЦН ОПНЖЕЯЯЮ Х 0 - БМСРПХ ОНРНЛЙЮ. оПХ ЩРНЛ ГЮОХЯЭ/ВРЕМХЕ Б ТЮИК ПНДХРЕКЭЯЙХЛ ОПНЖЕЯЯНЛ БНЯОПХМХЛЮЕРЯЪ ЙЮЙ ВРЕМХЕ/ГЮОХЯЭ ОНРНЛЙНЛ. дКЪ ОНРНЛЙЮ ЩРН ЯРЮМДЮПРМШИ ББНД/БШБНД. пНДХРЕКЭЯЙХИ ОПНЖЕЯЯ ФДЕР ГЮБЕПЬЕМХЪ ОНРНЛЙЮ ОНЯКЕ ГЮЙПШРХЪ ОНРНЙЮ Х ОНКСВЮЕР ЙНД ГЮБЕПЬЕМХЪ Б ОЕПЕЛЕММНИ $?. хЛЪ ТЮИКЮ МЕ ДНКФМН ЯНДЕПФЮРЭ ОПНАЕКНБ ЙЮЙ Б МЮВЮКЕ, РЮЙ Х Б ЙНМЖЕ.
нРЙПШРЭ ДХПЕЙРНПХЧ Я ХЛЕМЕЛ БШПЮФЕМХЪ ДКЪ НАПЮАНРЙХ ТСМЙЖХЪЛХ readdir(), telldir(), seekdir(), rewinddir() Х closedir(). бНГБПЮЫЮЕР true ОПХ СЯОЕУЕ.
бНГБПЮЫЮЕР ascii ЙНД ОЕПБНЦН ЯХЛБНКЮ БШПЮФЕМХЪ.
сОЮЙНБШБЮЕР ЯОХЯНЙ Б ДБНХВМСЧ ЯРПСЙРСПС ОН ЬЮАКНМС. ьЮАКНМ - ЩРН ЯРПНЙЮ ЯХЛБНКНБ, НОХЯШБЮЧЫЮЪ ОНПЪДНЙ Х РХО СОЮЙНБЮММШУ ГМЮВЕМХИ.
гЮ ЙЮФДНИ АСЙБНИ ЛНФЕР ЯРНЪРЭ ВХЯКН НГМЮВЮЧЫЕЕ ЙНКХВЕЯРБН ОНБРНПНБ. дКЪ БЯЕУ РХОНБ ГЮ ХЯЙКЧВЕМХЕЛ 'a', 'A', 'b', 'B', 'h' Х 'H', СОЮЙНБШБЮЕРЯЪ ЛЮЙЯХЛЮКЭМН БНГЛНФМНЕ ЙНКХВЕЯРБН ГМЮВЕМХИ ХГ ЯОХЯЙЮ. яХЛБНК '*' ОНЯКЕ РХОЮ НГМЮВЮЕР ХЯОНКЭГНБЮРЭ НЯРЮБЬХЕЯЪ ОЮПЮЛЕРПШ. рХО 'a' Х 'A' ХЯОНКЭГСЕР РНКЭЙН НДМН ГМЮВЕМХЕ ХГ ЯОХЯЙЮ Х ДНАЮБКЪЕР НЯРЮРНЙ ОНКЪ КХАН МСКЭ-ЯХЛБНКЮЛХ, КХАН ОПНАЕКЮЛХ (ОПХ ПЮЯОЮЙНБЙЕ ОН РХОС 'A' ОПНАЕКШ Х МСКХ НРАПЮЯШБЮЧРЯЪ, Ю ОН 'a' - МЕР). рХОШ 'b' Х 'B' СОЮЙНБШБЮЧР ЯРПНЙС Б СЙЮГЮММНЕ ВХЯКН АХР. рЮЙ ФЕ ЙЮЙ Х 'h' Х 'H' Б ВХЯКН МХАКНБ (АЮИР). 'P' - СОЮЙНБШБЮЕР СЙЮГЮРЕКЭ МЮ ЯРПСЙРСПС Я СЙЮГЮММНИ ДКХМНИ. вХЯКЮ Я ОКЮБЮЧЫЕИ ГЮОЪРНИ (floats Х double) ГЮОХЯШБЮЧРЯЪ Б ЯРЮМДЮПРМНЛ ДКЪ ЙЮФДНИ ЛЮЬХМШ ТНПЛЮРЕ Х ЛНЦСР АШРЭ ПЮГМШЛХ ДКЪ ПЮГМШУ РХОНБ ЛЮЬХМ. гЮЛЕРЭРЕ, ВРН Perl БЯЕЦДЮ ХЯОНКЭГСЕР ДБНИМСЧ РНВМНЯРЭ (double), ОНЩРНЛС СОЮЙНБЙЮ Х ПЮЯОЮЙНБЙЮ ОН РХОС 'f' ОПХБЕДЕР Й ОНРЕПЕ РНВМНЯРХ. ьЮАКНМШ ДКЪ ПЮЯОЮЙНБЙХ Х СОЮЙНБЙХ ЯНБЕПЬЕММН НДХМЮЙНБШ.
оПХЛЕПШ:
print(pack("ccc",65,66,67)); # пЕГСКЭРЮР ABC print(pack("A4A3","ab","cdefg")); # "ab cde" print(pack("a4a3","ab","cdefg")); # "ab\0\0cde"
юМЮКНЦХВЕМ ЯХЯРЕЛМНЛС pipe().
сДЮКЪЕР Х БНГБПЮЫЮЕР ОНЯКЕДМХИ ЩКЕЛЕМР ЛЮЯЯХБЮ. дКХМЮ ЛЮЯЯХБЮ СЛЕМЭЬЮЕРЯЪ МЮ 1. пЕГСКЭРЮР МЕ НОПЕДЕКЕМ, ЕЯКХ ЛЮЯЯХБ ОСЯРНИ. еЯКХ ХЛЪ ЛЮЯЯХБЮ НРЯСРЯРБСЕР, РН ХГБКЕЙЮЕР ХГ @ARGV ДКЪ ЦНКНБМНИ ОПНЦПЮЛЛШ Х @_ ДКЪ ОНДОПНЦПЮЛЛШ.
бНГБПЮЫЮЕР ЯЛЕЫЕМХЕ НР ОНЯКЕДМЕЦН m//g ОНХЯЙЮ.
print ТЮИК ЯОХЯНЙ
print ЯОХЯНЙ
print
бШБНДХР ЯРПНЙС ХКХ ЯОХЯНЙ ЯРПНЙ Б ТЮИК. бНГБПЮЫЮЕР true ОПХ СЯОЕУЕ. юПЦСЛЕМР ТЮИК ЛНФЕР АШРЭ ЯЙЮКЪПМНИ ОЕПЕЛЕММНИ, ЯНДЕПФЮЫЕИ ХЛЪ СЙЮГЮРЕКЪ ТЮИКЮ, ЕЯКХ НМ НРЯСРЯРБСЕР, РН НЯСЫЕЯРБКЪЕРЯЪ БШБНД Б ЯРЮМДЮПРМШИ БШУНДМНИ ОНРНЙ STDOUT (ЕЯКХ МЕ АШКН БШГНБЮ select()). еЯКХ ЯОХЯНЙ НРЯСРЯРБСЕР, РН БШБНДХРЯЪ ГМЮВЕМХЕ ОЕПЕЛЕММНИ $_. дКЪ БШБНДЮ ОН СЛНКВЮМХЧ Б ДПСЦНИ ТЮИК МЕНАУНДХЛН ХЯОНКЭГНБЮРЭ ТСМЙЖХЧ select(). рЮЙ ЙЮЙ print ПЮАНРЮЕР Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ, РН БЯЕ ЩКЕЛЕМРШ ЯОХЯЙЮ РЮЙ ФЕ БШВХЯКЪЧРЯЪ Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ, Р.Е. ТСМЙЖХХ АСДСР БНГБПЮЫЮРЭ ЯОХЯЙНБШЕ ГМЮВЕМХЪ. юПЦСЛЕМРШ ЛНФМН ГЮЙКЧВЮРЭ Б ЙПСЦКШЕ ЯЙНАЙХ. еЯКХ СЙЮГЮРЕКЭ ТЮИКЮ - ЩКЕЛЕМР ЛЮЯЯХБЮ, РН ЩКЕЛЕМР МСФМН ГЮЙКЧВХРЭ Б ТХЦСПМШЕ ЯЙНАЙХ ДКЪ БШВХЯКЕМХЪ АКНЙЮ.
printf ТЮИК ЯОХЯНЙ
printf ЯОХЯНЙ
юМЮКНЦХВЕМ БШГНБС "print ТЮИК sprintf(ЯОХЯНЙ)". оЕПБШИ ЩКЕЛЕМР ЯОХЯЙЮ ДНКФЕМ АШРЭ ТНПЛЮРНЛ printf(), ЙЮЙ Х Б я.
дНАЮБХРЭ ЩКЕЛЕМРШ ЛЮЯЯХБЮ ГМЮВЕМХЪЛХ ХГ ЯОХЯЙЮ. дКХМЮ ЛЮЯЯХБЮ СБЕКХВХБЮЕРЯЪ МЮ ЙНКХВЕЯРБН ЩКЕЛЕМРНБ ЯОХЯЙЮ.
q/ЯРПНЙЮ/
qq/ЯРПНЙЮ/
qx/ЯРПНЙЮ/
qw/ЯРПНЙЮ/
нАШВМШЕ НОЕПЮРНПШ ЯРПНЙ. яЛНРПХ ЦКЮБС нОЕПЮРНПШ.
бШВХЯКЪЕР БШПЮФЕМХЕ, Б ЙНРНПНЛ ЛЕРЮЯХЛБНКШ ПЮЯЯЛЮРПХБЮЧРЯЪ ЙЮЙ НАШВМШЕ ЯХЛБНКШ.
бНГБПЮЫЮЕР ЯКСВЮИМНЕ ВХЯКН Б ДХЮОЮГНМЕ ЛЕФДС 0 Х БШПЮФЕМХЕЛ. еЯКХ БШПЮФЕМХЕ НРЯСРЯРБСЕР - ЛЕФДС 0 Х 1. дЮММЮЪ ОЯЕБДНЯКСВЮИМЮЪ ОНЯКЕДНБЮРЕКЭМНЯРЭ ЯАПЮЯШБЮЕРЯЪ ТСМЙЖХЕИ srand().
read ТЮИК, ЯЙЮКЪП,
ДКХМЮ, ЯЛЕЫЕМХЕ
read ТЮИК, ЯЙЮКЪП, ДКХМЮ
оПНВХРЮРЭ СЙЮГЮММНЕ ВХЯКН АЮИР ХГ ТЮИКЮ Б ЯЙЮКЪПМСЧ ОЕПЕЛЕММСЧ. бНГБПЮЫЮЕР ЙНКХВЕЯРБН ОПНВХРЮММШУ АЮИР ХКХ МЕНОПЕДЕКЕММНЯРЭ ОПХ НЬХАЙЕ. дКХМЮ ЯЙЮКЪПЮ ЯРЮМЕР ПЮБМНИ ЙНКХВЕЯРБС ЯВХРЮММШУ АЮИР. яЛЕЫЕМХЕ СЙЮГШБЮЧР, ЕЯКХ ДЮММШЕ МСФМН ОНЛЕЯРХРЭ МЕ Я ЯЮЛНЦН МЮВЮКЮ ЯРПНЙХ.
бНГБПЮЫЮЕР ХЛЪ ЯКЕДСЧЫЕЦН ТЮИКЮ Б ДХПЕЙРНПХХ НРЙПШРНИ ЙНЛЮМДНИ opendir(). б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР БЯЕ НЯРЮБЬХЕЯЪ ХЛЕМЮ ТЮИКНБ. еЯКХ ТЮИКНБ АНКЭЬЕ МЕР, РН БНГБПЮЫЮЕР МЕНОПЕДЕКЕММНЯРЭ Б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ Х ОСЯРСЧ ЯРПНЙС Б ЯОХЯЙНБНЛ.
бНГБПЮЫЮЕР ГМЮВЕМХЕ ЯХЛБНКХВЕЯЙНИ ЯЯШКЙХ. оПХ НЬХАЙЕ БНГБПЮЫЮЕР МЕНОПЕДЕКЕММНЕ ГМЮВЕМХЕ.
recv SOCKIT, SCALAR, LEN, FLAGS
оНКСВХРЭ ЯННАЫЕМХЕ ХГ ЯНЙЕРЮ. юМЮКНЦХВЕМ ЯХЯРЕЛМНЛС recvfrom().
оЕПЕИРХ Й МЮВЮКС АКНЙЮ, ЛХМСЪ БШВХЯКЕМХЕ СЯКНБХЪ Х АКНЙЮ continue. еЯКХ ЛЕРЙЮ НРЯСРЯРБСЕР, РН ОЕПЕУНД Й АКХФЮИЬЕЛС БМЕЬМЕЛС АКНЙС.
бНГБПЮЫЮЕР true, ЕЯКХ БШПЮФЕМХЕ ЩРН ЯЯШКЙЮ, ХМЮВЕ - false. бНГБПЮЫЮЕЛНЕ ГМЮВЕМХЕ ГЮБХЯХР НР РХОЮ ЯЯШКЙХ. яСЫЕЯРБСЧР ЯКЕДСЧЫХЕ РХОШ ЯЯШКНЙ:
REF, SCALAR, ARRAY, HASH, CODE, GLOB
еЯКХ ЮПЦСЛЕМР - ЯЯШКЙЮ МЮ ЙКЮЯЯ, РН БНГБПЮЫЮЕРЯЪ ХЛЪ ЙКЮЯЯЮ. тСМЙЖХЪ ref() ЮМЮКНЦХВМЮ ТСМЙЖХХ typeof().
rename ЯРЮПНЕ_ХЛЪ, МНБНЕ_ХЛЪ_ТЮИКЮ
оЕПЕХЛЕМНБЮРЭ ТЮИК. бНГБПЮЫЮЕР 1 Б ЯКСВЮЕ СЯОЕУЮ, ХМЮВЕ - 0.
105require БШПЮФЕМХЕ
require
еЯКХ БШПЮФЕМХЕ - ВХЯКН, РПЕАСЕР ВРН АШ РЕЙСЫЮЪ БЕПЯХЪ Perl АШКЮ МЕ МХФЕ СЙЮГЮММНИ. еЯКХ ЯРПНЙЮ - ЯВХРШБЮЕР АХАКХНРЕВМШИ ТЮИК Я СЙЮГЮММШЛ ХЛЕМЕЛ, ЕЯКХ НМ ЕЫЕ МЕ ОПНВХРЮМ. оНЯКЕДМХИ НОЕПЮРНП АХАКХНРЕВМНЦН ТЮИКЮ ДНКФЕМ БНГБПЮЫЮРЭ true. нАШВМН ЩРН ЯРПНЙЮ БХДЮ 1; еЯКХ ПЮЯЬХПЕМХЕ ХЛЕМХ ТЮИКЮ НРЯСРЯРБСЕР, РН ОН СЛНКВЮМХЧ ОПХМХЛЮЕРЯЪ ".pm" б ДЮММНИ ТСМЙЖХХ ЛНФМН СЙЮГШБЮРЭ ОСРЭ ПЮЯОНКНФЕМХЪ ТЮИКЮ, Ю ЕЯКХ АХАКХНРЕЙЮ ПЮЯОНКНФЕМЮ Б ЯРЮМДЮПРМНИ ЯХЯРЕЛМНИ НАКЮЯРХ Perl, РН БЛЕЯРН require ОПЕДОНВРХРЕКЭМЕИ ХЯОНКЭГНБЮРЭ use().
нАШВМН ХЯОНКЭГСЕРЯЪ Б АКНЙЮУ continue ЖХЙКНБ ДКЪ НВХЯРЙХ ОЕПЕЛЕММШУ Х ОНХЯЙЮ ДКЪ ОНБРНПМНЦН ОПХЛЕМЕМХЪ. бШПЮФЕМХЕ БНЯОПХМХЛЮЕРЯЪ ЙЮЙ ЯОХЯНЙ ЯХЛБНКНБ. дКЪ СЙЮГЮМХЪ ДХЮОЮГНМЮ ЛНФМН ОПХЛЕМЪРЭ ЯХЛБНК ЛХМСЯ '-'. бЯЕ ОЕПЕЛЕММШЕ Х ЛЮЯЯХБШ, МЮВХМЮЧЫХЕЯЪ Я ЩРХУ ЯХЛБНКНБ, НАМСКЪЧРЯЪ. еЯКХ БШПЮФЕМХЕ НРЯСРЯРБСЕР, РН НАМСКЪЕРЯЪ ОНХЯЙ ?ЬЮАКНМ? ДКЪ ОНБРНПМНЦН ОНХЯЙЮ. яАПЮЯШБЮЧРЯЪ РНКЭЙН ОЕПЕЛЕММШЕ РЕЙСЫЕЦН ЛНДСКЪ.
оПХЛЕП:
reset 'a'; # НВХЯРХРЭ БЯЕ ОЕПЕЛЕММШЕ МЮВХМЮЧЫХЕЯЪ # АСЙБНИ 'a' reset 'a-z' # БЯЕ ОЕПЕЛЕММШЕ Я ЛЮКШУ АСЙБ.
бШПЮФЕМХЕ БХДЮ: 'A-Z' СОНРПЕАКЪРЭ МЕ ПЕЙНЛЕМДСЕРЯЪ, Р.Й. НАМСКЪЧРЯЪ БЮФМШЕ ЛЮЯЯХБШ @ARGV Х @ENV.
бШУНД ХГ ОНДОПНЦПЮЛЛШ Я СЙЮГЮММШЛ ЙНДНЛ. еЯКХ ДЮММЮЪ ТСМЙЖХЪ НРЯСРЯРБСЕР, РН БШУНД ХГ ОНДОПНЦПЮЛЛШ НЯСЫЕЯРБКЪЕРЯЪ Я ЙНДНЛ ОНЯКЕДМЕЦН БШОНКМЕММНЦН НОЕПЮРНПЮ.
б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ЯОХЯНЙ Я ЩКЕЛЕМРЮЛХ Б НАПЮРМНЛ ОНПЪДЙЕ СЙЮГЮММНЛС ЯОХЯЙС. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ЯРПНЙС Я ОЕПЕЯРЮБКЕММШЛХ ЯХЛБНКЮЛХ ОЕПБНЦН ЩКЕЛЕМРЮ ЯОХЯЙЮ.
сЯРЮМЮБКХБЮЕР СЙЮГЮРЕКЭ ТЮИКНБ НРЙПШРНИ ДХПЕЙРНПХХ Б МЮВЮКН ДКЪ ОНЯКЕДСЧЫЕЦН ВРЕМХЪ ТСМЙЖХЕИ readdir().
rindex ЯРПНЙЮ,
ОНДЯРПНЙЮ, ОНГХЖХЪ
rindex ЯРПНЙЮ, ОНДЯРПНЙЮ
оНДНАМЮ ТСМЙЖХХ index , МН БНГБПЮЫЮЕР ОНГХЖХЧ ОНЯКЕДМЕЦН БУНФДЕМХЪ ОНДЯРПНЙХ Б ЯРПНЙС. еЯКХ СЙЮГЮМЮ ОНГХЖХЪ, РН ОПНЯЛНРП БШОНКМЪЕРЯЪ ДН МЕЕ.
сДЮКХРЭ СЙЮГЮММСЧ ДХПЕЙРНПХЧ, ЕЯКХ Б МЕИ МЕР МХЙЮЙХУ ТЮИКНБ. бНГБПЮЫЮЕР 1 ОПХ СЯОЕУЕ Х 0 - ОПХ МЕСДЮВЕ. оПХ ЩРНЛ ОЕПЕЛЕММЮЪ $! ЯНДЕПФХР ЙНД (errno).
нОЕПЮРНП ОНДЯРЮМНБЙХ. яЛНРПХ ЦКЮБС нОЕПЮРНПШ.
бШВХЯКЪЕР БШПЮФЕМХЕ Б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ Х БНГБПЮЫЮЕР ПЕГСКЭРЮР. б Perl МЕР ЯОЕЖХЮКЭМНИ ТСМЙЖХХ ДКЪ ОПХМСДХРЕКЭМНЦН БШВХЯКЕМХЪ Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ, Р.Й. ДКЪ ДНЯРЮРНВМН ГЮЙКЧВХРЭ ЕЦН Б ЙПСЦКШЕ ЯЙНАЙХ.
сЯРЮМНБХРЭ СЙЮГЮРЕКЭ МЮ ОПНХГБНКЭМСЧ ОНГХЖХЧ Б ТЮИКЕ. еЯКХ НРЯВЕР ПЮБЕМ 0 - ОНГХЖХНМХПНБЮРЭ НР МЮВЮКЮ ТЮИКЮ, ЕЯКХ 1 - НР РЕЙСЫЕЦН ОНКНФЕМХЪ, 2 - НР ЙНМЖЮ ТЮИКЮ. бНГБПЮЫЮЕР 1 ОПХ СЯОЕУЕ Х 0 - МЕСДЮВЕ.
сЯРЮМНБХРЭ СЙЮГЮРЕКЭ ТЮИКЮ Б НРЙПШРНИ ДХПЕЙРНПХХ ДКЪ ОНЯКЕДСЧЫЕЦН ВРЕМХЪ ТСМЙЖХЕИ readdir(). рЕЙСЫЮЪ ОНГХЖХЪ ЛНФЕР АШРЭ ОНКСВЕМЮ ТСМЙЖХЕИ telldir().
бНГБПЮЫЮЕР РЕЙСЫХИ СЙЮГЮРЕКЭ ТЮИКЮ- ОН СЛНКВЮМХЧ ХКХ ДЕКЮЕР РЕЙСЫХЛ СЙЮГЮММШИ. рЮЙХЛ НАПЮГНЛ, ЕЯКХ Б ТСМЙЖХЪУ print ХКХ write МЕ СЙЮГЮМ ТЮИК БШБНДЮ, РН ЩРН НЯСЫЕЯРБКЪЕРЯЪ Б ТЮИК, СЙЮГЮММШИ select. оЕПЕЛЕММШЕ, ЯБЪГЮММШЕ Я БШБНДНЛ, РЮЙ ФЕ ДЕИЯРБСЧР МЮ БШБНД Б ЩРНР ТЮИК.
select RBITS, WBITS, EBITS, TIMEOUT
бШОНКМЪЕР ЯХЯРЕЛМШИ select()
яХЯРЕЛМШИ БШГНБ semctl() ДКЪ SYSTEM V.
яХЯРЕЛМШИ БШГНБ semget() ДКЪ SYSTEM V.
яХЯРЕЛМШИ БШГНБ semop() ДКЪ SYSTEM V.
send SOCKET, MSG, FLAGS, TO
send SOCKET, MSG, FLAGS
оНЯКЮРЭ ЯННАЫЕМХЕ ВЕПЕГ ЯНЙЕР. юМЮКНЦХВМН ЯХЯРЕЛМНЛС send().
сЯРЮМНБХРЭ МНЛЕП ЦПСООШ PGRP ОПНЖЕЯЯС Я МНЛЕПНЛ PID, 0 - ДКЪ РЕЙСЫЕЦН ОПНЖЕЯЯЮ.
setpriority WHICH, WHO, PRIORITY
сЯРЮМНБХРЭ ОПХНПХРЕР PRIORITY ОПНЖЕЯЯС ОНКЭГНБЮРЕКЪ WHO Х ЦПСООЕ WHICH.
setsockopt SOCKET, LEVEL, OPTNAME, OPTVAL
сЯРЮМНБХРЭ ОЮПЮЛЕРПШ ЯНЙЕРЮ. бНГБПЮЫЮЕР МЕНОПЕДЕКЕММНЯРЭ ОПХ НЬХАЙЕ.
сДЮКЪЕР ОЕПБШИ ЩКЕЛЕМР ЛЮЯЯХБЮ Х БНГБПЮЫЮЕР ЕЦН ГМЮВЕМХЕ. еЯКХ ЛЮЯЯХБ ОСЯРНИ, РН ПЕГСКЭРЮР - МЕНОПЕДЕКЕММНЯРЭ. еЯКХ ЮПЦСЛЕМР НОСЫЕМ - НАПЮАЮРШБЮЕРЯЪ ЛЮЯЯХБ @ARGV Б ЦНКНБМНИ ОПНЦПЮЛЛЕ ХКХ @_ Б ОНДОПНЦПЮЛЛЕ.
яХЯРЕЛМШИ БШГНБ shmctl() System V
яХЯРЕЛМШИ БШГНБ shmget() System V
shmread ID, VAR, POS, SIZE
shmread ID, STRING, POS, SIZE
оХЬЕР ХКХ ВХРЮЕР ЯЕЦЛЕМР НАЫЕДНЯРСОМНИ ОЮЛЪРХ Б System V.
оПЕЙПЮЫЮЕР ПЮАНРС ЯНЙЕРЮ ЛЕРНДНЛ HOW.
бНГБПЮЫЮЕР Б ПЮДХЮМЮУ ЯХМСЯ БШПЮФЕМХЪ.
оПХНЯРЮМЮБКХБЮЕР ПЮАНРС ОПНЖЕЯЯЮ МЮ СЙЮГЮММНЕ ВХЯКН ЯЕЙСМД ХКХ ГЮЖХЙКХБЮЕРЯЪ, ЕЯКХ ЮПЦСЛЕМР НРЯСРЯРБСЕР. пЮАНРЮ ОПНДНКФЮЕРЯЪ, ЕЯКХ ОНКСВЕМ ЯХЦМЮК SIGALARM. бНГБПЮЫЮЕР БПЕЛЪ ТЮЙРХВЕЯЙНИ ОЮСГШ.
socket SOCKET, DOMAIN, TYPE, PROTOCOL
нРЙПШБЮЕР ЯНЙЕР Х ОПХБЪГШБЮЕР ЕЦН Й СЙЮГЮРЕКЧ SOCKET.
socketpair SOCKET1, SOCKET2, DOMAIN, TYPE, PROTOCOL
яНГДЮЕР "АЕГШЛЪММСЧ" ОЮПС ЯНЙЕРНБ Б СЙЮГЮММНЛ DOMAIN. бНГБПЮЫЮЕР true ОПХ СЯОЕУЕ Х false - МЕСДЮВЕ.
sort ОНДОПНЦПЮЛЛЮ
ЯОХЯНЙ
sort АКНЙ ЯОХЯНЙ
sort ЯОХЯНЙ
яНПРХПСЕР ЩКЕЛЕМРШ ЯОХЯЙЮ Х БНГБПЮЫЮЕР ОНКСВЕММШИ ЯОХЯНЙ. мЕЯСЫЕЯРБСЧЫХЕ ЩКЕЛЕМРШ ЯОХЯЙЮ НРАПЮЯШБЮЧРЯЪ. еЯКХ МЕ СЙЮГЮМН ХЛЪ ОНДОПНЦПЮЛЛШ ХКХ АКНЙ, РН ЯНПРХПСЕР Б ЯРЮМДЮПРМНЛ ЯРПНЙНБНЛ ОНПЪДЙЕ. сЙЮГЮММЮЪ ОНДОПНЦПЮЛЛЮ БНГБПЮЫЮЕР ГМЮВЕМХЪ АНКЭЬЕ, ЛЕМЭЬЕ ХКХ ПЮБМНЕ МСКЧ Б ГЮБХЯХЛНЯРХ НР ДБСУ ЯНЯЕДМХУ ЩКЕЛЕМРНБ ЯОХЯЙЮ. хЛЪ ОНДОПНЦПЮЛЛШ ЛНФЕР АШРЭ СЙЮГЮМН ОЕПЕЛЕММНИ. нМЮ МЕ ДНКФМЮ АШРЭ ПЕЙСПЯХБМНИ, Х ДБЮ ЯПЮБМХБЮЕЛШУ ЩКЕЛЕМРЮ ЯОХЯЙЮ ОЕПЕДЮЧРЯЪ ЙЮЙ ЦКНАЮКЭМШЕ ОЕПЕЛЕММШЕ $main::a Х $main::b. щРН ЯЯШКЙХ, ОНЩРНЛС ХУ ХГЛЕМЕМХЕ ОПХБНДХР Й ХГЛЕМЕМХЧ ЯЮЛХУ ЩКЕЛЕМРНБ ЯОХЯЙЮ.
splice ЛЮЯЯХБ,
ЯЛЕЫЕМХЕ, ДКХМЮ, ЯОХЯНЙ
splice ЛЮЯЯХБ, ЯЛЕЫЕМХЕ, ДКХМЮ
splice ЛЮЯЯХБ, ЯЛЕЫЕМХЕ
сДЮКЪЕР ЩКЕЛЕМРШ ЛЮЯЯХБЮ, МЮВХМЮЪ ЯН ЯЛЕЫЕМХЪ Х СЙЮГЮММНИ ДКХМШ. гЮЛЕМЪЕР ХУ СЙЮГЮММШЛ ЯОХЯЙНЛ. бНГБПЮЫЮЕР СДЮКЕММШИ ЯОХЯНЙ. еЯКХ ДКХМЮ МЕ СЙЮГЮМЮ, СДЮКЪЕР БЯЕ ЩКЕЛЕМРШ ЯОХЯЙЮ, МЮВХМЮЪ ЯН ЯЛЕЫЕМХЪ.
split /ЬЮАКНМ/,
БШПЮФЕМХЕ, ОПЕДЕК
split /ЬЮАКНМ/, БШПЮФЕМХЕ
split /ЬЮАКНМ/
split
пЮГДЕКЪЕР ЯРПНЙС, СЙЮГЮММСЧ БШПЮФЕМХЕЛ, МЮ ЛЮЯЯХБ ЩКЕЛЕМРНБ Х БНГБПЮЫЮЕР ЕЦН. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ЙНКХВЕЯРБН ОНКСВЕММШУ ЩКЕЛЕМРНБ ЛЮЯЯХБЮ, Ю ЯЮЛ ЛЮЯЯХБ ОНЛЕЫЮЕР Б @_ (Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ ОНЛЕЯРХРЭ ПЕГСКЭРЮР Б @_ ЛНФМН ЕЯКХ ОПХЛЕМХРЭ ?ЬЮАКНМ?) еЯКХ БШПЮФЕМХЕ НРЯСРЯРБСЕР, РН НАПЮАЮРШБЮЕРЯЪ ЯНДЕПФХЛНЕ ОЕПЕЛЕММНИ $_. еЯКХ ЬЮАКНМ НРЯСРЯРБСЕР, РН ПЮГДЕКХРЕКЕЛ ЪБКЪЕРЯЪ ОПНАЕК. бЯЕ, ВРН ОНДУНДХР ОН ЬЮАКНМС, ЯВХРЮЕРЯЪ ПЮГДЕКХРЕКЕЛ. еЯКХ СЙЮГЮМ ОПЕДЕК, РН ЩРН ЛЮЙЯХЛЮКЭМНЕ ВХЯКН ПЮГДЕКЕМХИ. нРПХЖЮРЕКЭМНЕ ГМЮВЕМХЕ ОПЕДЕКЮ БНЯОПХМХЛЮЕРЯЪ ЙЮЙ МЕНЦПЮМХВЕММН АНКЭЬНИ ОПЕДЕК. еЯКХ ОСЯРЮЪ ЯРПНЙЮ ОНУНДХР ОНД ЬЮАКНМ ПЮГДЕКХРЕКЪ, РН ХЯУНДМНЕ ГМЮВЕМХЕ ПЮГДЕКЪЕРЯЪ ОНЯХЛБНКЭМН. оПЕДЕК СДНАМН ХЯОНКЭГНБЮРЭ ДКЪ ВЮЯРХВМНЦН ПЮГДЕКЕМХЪ ЯРПНЙХ.
оПХЛЕП:
($a, $b, $НЯРЮРНЙ) = split(/ /, "нДХМ дБЮ рПХ вЕРШПЕ",3);
ГДЕЯЭ $a = 'нДХМ', $b = 'дБЮ' Х $НЯРЮРНЙ = 'рПХ вЕРШПЕ'
еЯКХ ЬЮАКНМ ЯНДЕПФХР ЙПСЦКШЕ ЯЙНАЙХ, РН ЯХЛБНКШ-ПЮГДЕКХРЕКХ, СЙЮГЮММШЕ Б МХУ, БЯРЮБКЪЧРЯЪ Б ПЕГСКЭРХПСЧЫХИ ЯОХЯНЙ ЙЮЙ НАШВМШЕ ЩКЕЛЕМРШ, ОПХВЕЛ БЯРЮБКЪЕРЯЪ ЯХЛБНК, ЙНРНПШИ ЯНБОЮК Я ПЮГДЕКХРЕКЕЛ.
оПХЛЕП:
@a = split(/([,.])/, "нДХМ,дБЮ.рПХ");
ГДЕЯЭ @a = ("нДХМ", "," ,"дБЮ", ".", "рПХ")
тНПЛЮРХПСЕР ЯОХЯНЙ ОН СЙЮГЮММНЛС ТНПЛЮРС ЮМЮКНЦХВМН ТСМЙЖХХ sprintf() ЪГШЙЮ я.
бНГБПЮЫЮЕР ЙНПЕМЭ ЙБЮДПЮРМШИ БШПЮФЕМХЪ.
гЮДЮЕР МЮВЮКЭМНЕ ГМЮВЕМХЕ ДКЪ ЦЕМЕПЮРНПЮ ЯКСВЮИМШУ ВХЯЕК - НОЕПЮРНПЮ rand. еЯКХ ЮПЦСЛЕМР НРЯСРЯРБСЕР, РН ХЯОНКЭГСЕРЯЪ РЕЙСЫЕЕ ЛЮЬХММНЕ БПЕЛЪ.
бНГБПЮЫЮЕР 13 ЩКЕЛЕМРМШИ ЛЮЯЯХБ ОЮПЮЛЕРПНБ СЙЮГЮММНЦН ТЮИКЮ ХКХ ОСЯРНИ ЯОХЯНЙ ОПХ НЬХАЙЕ. оПХЛЕМЪЕРЯЪ НАШВМН ЯКЕДСЧЫХЛ НАПЮГНЛ:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);
ЦДЕ
еЯКХ СЙЮГЮМ ЮПЦСЛЕМР '_', РН БНГБПЮЫЮЕРЯЪ ПЕГСКЭРЮР ОПЕДШДСЫЕЦН БШГНБЮ stat().
бЙКЧВЕМХЕ ЛЕРНДЮ ВЮЯРНРМНЦН ЯПЮБМЕМХЪ. жЕКЕЯННАПЮГМНЯРЭ ОПХЛЕМЕМХЪ ГЮБХЯХР НР ЙНКХВЕЯРБЮ ОНХЯЙНБ Х ЙНКХВЕЯРБЮ ЙНМЯРЮМР Б ЯРПНЙЕ Б ЙНРНПНИ БЕДЕРЯЪ ОНХЯЙ. тСМЙЖХЪ ПЮАНРЮЕР ЯКЕДСЧЫХЛ НАПЮГНЛ: дКЪ СЙЮГЮММНЦН ЯЙЮКЪПЮ (ЕЯКХ ЮПЦСЛЕМР НРЯСРЯРБСЕР АЕПЕРЯЪ ГМЮВЕМХЕ ОЕПЕЛЕММНИ $_) ЯРПНХРЯЪ ЯОХЯНЙ СЙЮГЮРЕКЕИ МЮ ЙЮФДШИ ЯХЛБНК ЯРПНЙХ. гЮРЕЛ, ЙНЦДЮ МЮВХМЮЕРЯЪ ОНХЯЙ, ОЕПБШЛХ ОПНЯЛЮРПХБЮЧРЯЪ ЯХЛБНКШ, ЙНРНПШЕ МЮХАНКЕЕ ПЕДЙН БЯРПЕВЮЧРЯЪ Б ЮМЦКХИЯЙНЛ ЪГШЙЕ. бШХЦПШЬ ОН БПЕЛЕМХ НВЕБХДЕМ, ЙНЦДЮ БШОНКМЪЕРЯЪ ЛМНЦНЙПЮРМШИ ОНХЯЙ Б НДМНИ Х РНИ ФЕ ЯРПНЙЕ, Х БПЕЛЪ ГЮРПЮВЕММНЕ МЮ ХМДЕЙЯЮЖХЧ НЙСОЮЕРЯЪ.
substr БШПЮФЕМХЕ,
ЯЛЕЫЕМХЕ, ДКХМЮ
substr БШПЮФЕМХЕ, ЯЛЕЫЕМХЕ
бНГБПЮЫЮЕР ОНДЯРПНЙС БШПЮФЕМХЪ, МЮВХМЮЪ ЯН ЯЛЕЫЕМХЪ Х ГЮДЮММНИ ДКХМШ. еЯКХ ЯЛЕЫЕМХЕ НРПХЖЮРЕКЭМНЕ, РН НРЯВЕР БЕДЕРЯЪ НР ЙНМЖЮ ЯРПНЙХ. еЯКХ ДКХМЮ МЕ СЙЮГЮМЮ, РН АЕПЕРЯЪ БЯЕ ДН ЙНМЖЮ ЯРПНЙХ.
symlink ЯРЮПШИ_ТЮИК, МНБШИ_ТЮИК
яНГДЮЕР МНБШИ ТЮИК, ЯХЛБНКХВЕЯЙХ ЯБЪГЮММШИ ЯН ЯРЮПШЛ, Р.Е. ЯНГДЮЕР ЯЯШКЙС МЮ ТЮИК. бНГБПЮЫЮЕР 1 ОПХ СЯОЕУЕ Х 0 - МЕСДЮВЕ.
бШОНКМЪЕР ЯХЯРЕЛМСЧ ТСМЙЖХЧ. оЕПБШИ ЩКЕЛЕМР ЯОХЯЙЮ - ЩРН ХЛЪ ТСМЙЖХХ, Ю НЯРЮКЭМШЕ ЩКЕЛЕМРШ - ЕЕ ЮПЦСЛЕМРШ. еЯКХ ТСМЙЖХЪ МЕ БШОНКМХЛЮ, РН БНГБПЮЫЮЕРЯЪ ТЮРЮКЭМЮЪ НЬХАЙЮ. юПЦСЛЕМРШ ХМРЕПОПЕРХПСЧРЯЪ ЯКЕДСЧЫХЛ НАПЮГНЛ. еЯКХ ЮПЦСЛЕМР ВХЯКН, РН НМН ЯВХРЮЕРЯЪ ЖЕКШЛ. еЯКХ МЕ ВХЯКН, РН ЮПЦСЛЕМР ЯВХРЮЕРЯЪ СЙЮГЮРЕКЕЛ МЮ ЯРПНЙС. бЮЛ МЕНАУНДХЛН НАЕЯОЕВХРЭ ДНЯРЮРНВМСЧ ДКХМС ЮПЦСЛЕМРЮ ДКЪ ОНДЯРЮМНБЙХ ГМЮВЕМХЪ СЙЮГЮРЕКЪ. б Perl ОЕПЕДЮЕРЯЪ ЛЮЙЯХЛСЛ 14 ОЮПЮЛЕРПНБ. нАШВМН ЩРНЦН ДНЯРЮРНВМН.
sysread ТЮИК, ЯЙЮКЪП,
ДКХМЮ, ЯЛЕЫЕМХЕ
sysread ТЮИК, ЯЙЮКЪП, ДКХМЮ
оПНВХРЮРЭ ХГ ТЮИКЮ СЙЮГЮММНЕ ВХЯКН АЮИР Б ЯЙЮКЪП Я ОНЛНЫЭЧ ЯХЯРЕЛМНЦН БШГНБЮ read(). яЛЕЫЕМХЕ НАНГМЮВЮЕР ОНГХЖХЧ Б ЯЙЮКЪПЕ, ОНЯКЕ ЙНРНПНИ АСДСР БЯРЮБКЕМШ ОПНВХРЮММШЕ АЮИРШ.
дЕКЮЕР РН ФЕ ЯЮЛНЕ, ВРН Х "exec ЯОХЯНЙ" Я РНИ КХЬЭ ПЮГМХЖЕИ, ВРН БШГНБ fork() ДЕКЮЕРЯЪ ОЕПБШЛ, Х ПНДХРЕКЭЯЙХИ ОПНЖЕЯЯ ФДЕР ГЮБЕПЬЕМХЪ ОНРНЛЙЮ. бНГБПЮЫЮЕР ГМЮВЕМХЕ ЮМЮКНЦХВМНЕ ТСМЙЖХХ wait(). дКЪ ОНКСВЕМХЪ ДЕИЯРБХРЕКЭМНЦН ЙНДЮ ГЮБЕПЬЕМХЪ МЕНАУНДХЛН ПЮГДЕКХРЭ МЮ 256.
syswrite ТЮИК, ЯЙЮКЪП,
ДКХМЮ, ЯЛЕЫЕМХЕ
syswrite ТЮИК, ЯЙЮКЪП, ДКХМЮ
гЮОХЯЮРЭ Б ТЮИК СЙЮГЮММНЕ ВХЯКН АЮИР ЯЙЮКЪПЮ Я ОНЛНЫЭЧ ЯХЯРЕЛМНЦН БШГНБЮ write(). яЛЕЫЕМХЕ СЙЮГШБЮЕР ОНГХЖХЧ Б ЯЙЮКЪПЕ, НРЙСДЮ МЮВХМЮЕРЯЪ ГЮОХЯЭ.
бНГБПЮЫЮЕР РЕЙСЫСЧ ОНГХЖХЧ СЙЮГЮРЕКЪ Б НРЙПШРНЛ ТЮИКЕ. еЯКХ ТЮИК МЕ СЙЮГЮМ, РН ОНЯКЕДМЕЦН ВХРЮЕЛНЦН ТЮИКЮ.
бНГБПЮЫЮЕР РЕЙСЫСЧ ОНГХЖХЧ СЙЮГЮРЕКЪ Б НРЙПШРНИ ДХПЕЙРНПХХ. нАШВМН ЩРН ОЮПЮЛЕРП ДКЪ ОНГХЖХНМХПНБЮМХЪ СЙЮГЮРЕКЪ ДХПЕЙРНПХХ ТСМЙЖХЕИ seekdir().
оПХЯБЮХБЮЕР ОЕПЕЛЕММСЧ ЙКЮЯЯС. яОХЯНЙ - ЩРН ЮПЦСЛЕМРШ new ЛЕРНДЮ ЙКЮЯЯЮ (TIESCALAR, TIEARRAY ХКХ TIEHASH). бНГБПЮЫЮЕР СЙЮГЮРЕКЭ МЮ ЯНГДЮММШИ МНБШИ НАЗЕЙР ЙКЮЯЯЮ, ЙНРНПШИ СДНАЕМ ДКЪ БШГНБЮ ДПСЦХУ ЛЕРНДНБ ЙКЮЯЯЮ.
бМХЛЮМХЕ! рЮЙХЕ ТСМЙЖХХ ЙЮЙ keys() Х values() ЛНЦСР БЕПМСРЭ Б ЙЮВЕЯРБЕ ГМЮВЕМХЪ НЦПНЛМНЕ ЙНКХВЕЯРБН ДЮММШУ.
дКЪ ЯНГДЮМХЪ НАЗЕЙРЮ ЮЯЯНЖХЮРХБМНЦН РХОЮ МЕНАУНДХЛН НОПЕДЕКЕМХЕ ЯКЕДСЧЫХУ ЛЕРНДНБ:
нАШВМНЦН ЛЮЯЯХБЮ:
яЙЮКЪПМНЦН РХОЮ:
бНГБПЮЫЮЕР ЙНКХВЕЯРБН ЯЕЙСМД, МЮВХМЮЪ Я 1 ЪМБЮПЪ 1970 Ц 00:00:00 UTC. цНДШ МЕ ПЮГДЕКЪЧРЯЪ МЮ БХЯНЙНЯМШЕ.
бНГБПЮЫЮЕР 4-У ЩКЕЛЕМРМШИ ЛЮЯЯХБ ГМЮВЕМХИ:
($user, $system, $cuser, $csystem) = times;
ЦДЕ:
нОЕПЮРНП РПЮМЯКЪРНП. оНДПНАМН ЯЛНРПХ ЦКЮБС "нОЕПЮРНПШ".
truncate ТЮИК, ДКХМЮ
truncate БШПЮФЕМХЕ, ДКХМЮ
сЯЕЙЮЕР ДКХМС СЙЮГЮММНЦН ТЮИКЮ.
бНГБПЮЫЮЕР ЯРПНЙС БШПЮФЕМХЪ, Б ЙНРНПНИ ЛЮКШЕ АСЙБШ ГЮЛЕМЕМШ МЮ ГЮЦКЮБМШЕ.
бНГБПЮЫЮЕР ЯРПНЙС БШПЮФЕМХЪ, Б ЙНРНПНИ ОЕПБЮЪ АСЙБЮ ГЮЛЕМЕМЮ МЮ ГЮЦКЮБМСЧ.
сЯРЮМЮБКХБЮЕР ЛЮЯЙС umask Х БНГБПЮЫЮЕР ЯРЮПНЕ ГМЮВЕМХЕ. аЕГ ЮПЦСЛЕМРЮ БНГБПЮЫЮЕР РЕЙСЫЕЕ ГМЮВЕМХЕ.
дЕКЮЕР МЕНОПЕДЕКЕММШЛ ГМЮВЕМХЕ БШПЮФЕМХЪ. оПХЛЕМЪЕРЯЪ РНКЭЙН ДКЪ ЯЙЮКЪПМШУ ОЕПЕЛЕММШУ, ЖЕКШУ ЛЮЯЯХБНБ ХКХ ОНДОПНЦПЮЛЛ. бЯЕЦДЮ БНГБПЮЫЮЕР МЕНОПЕДЕКЕММНЕ ГМЮВЕМХЕ.
сДЮКЪЕР ТЮИКШ, СЙЮГЮММШЕ Б ЯОХЯЙЕ. бНГБПЮЫЮЕР ЙНКХВЕЯРБН СДЮКЕММШУ ТЮИКНБ. рНКЭЙН ЯСОЕПБХГНП ЛНФЕР СДЮКЪРЭ ДХПЕЙРНПХХ Я ТЮИКЮЛХ, ЕЯКХ Perl ГЮОСЫЕМ Я ЙКЧВНЛ -U.
тСМЙЖХЪ, НАПЮРМЮЪ pack(). пЮЯОЮЙНБШБЮЕР ЯРПНЙС БШПЮФЕМХЪ ОН СЙЮГЮММНЛС ЬЮАКНМС Б ЛЮЯЯХБ ГМЮВЕМХИ. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ГМЮВЕМХЕ РНКЭЙН ОЕПБНЦН ЩКЕЛЕМРЮ. ьЮАКНМШ РЮЙХЕ ФЕ ЙЮЙ Х Б pack().
яХЛБНК '%' Б ЬЮАКНМЕ НГМЮВЮЕР, ВРН БШ УНРХРЕ ОНКСВХРЭ БЛЕЯРН ГМЮВЕМХЪ ЕЦН ЙНМРПНКЭМСЧ ЯСЛЛС. оН СЛНКВЮМХЧ - 16-АХРМСЧ.
хЯЙКЧВЮЕР ОЕПЕЛЕММСЧ ХГ ЙКЮЯЯЮ СЙЮГЮММНЦН tie().
оПНРХБНОНКНФМНЕ shift. оНЛЕЫЮЕР ЩКЕЛЕМРШ ЯОХЯЙЮ Б МЮВЮКН ЛЮЯЯХБЮ.
сЙЮГШБЮЕР АХАКХНРЕВМШИ ЛНДСКЭ, ХГ ЙНРНПНЦН ЛНФМН БШГШБЮРЭ ОНДОПНЦПЮЛЛШ. яОХЯНЙ ОЕПЕВХЯКЪЕР ХЛЕМЮ ОНДОПНЦПЮЛЛ, ЙНРНПШЕ ДНАЮБКЪЧРЯЪ Й РЕЙСЫЕИ НАКЮЯРХ ХЛЕМ. еЯКХ МЕ СЙЮГЮМ, РН БЯЕ ХЛЕМЮ. дЕИЯРБХЕ ЮМЮКНЦХВМН АКНЙС:
BEGIN { require ЛНДСКЭ; import ЛНДСКЭ ЯОХЯНЙ; }
яЮЛ ЛНДСКЭ ДНКФЕМ ПЮЯОНКЮЦЮРЭЯЪ Б ЯХЯРЕЛМНИ НАКЮЯРХ Perl ТЮИКНБ.
хГЛЕМЪЕР ДЮРС НАПЮЫЕМХЪ Х ЛНДХТХЙЮЖХХ ТЮИКНБ ХГ ЯОХЯЙЮ. оЕПБШЕ ДБЮ ЩКЕЛЕМРЮ ЯОХЯЙЮ ДНКФМШ СЙЮГШБЮРЭ МНБНЕ ГМЮВЕМХЕ ДЮРШ НАПЮЫЕМХЪ Х ЛНДХТХЙЮЖХХ. бНГБПЮЫЮЕР ЙНКХВЕЯРБН ХГЛЕМЕММШУ ТЮИКНБ.
бНГБПЮЫЮЕР НАШВМШИ ЛЮЯЯХБ ЯН БЯЕЛХ ГМЮВЕМХЪЛХ УЕЬЮ. б ЯЙЮКЪПМНЛ ЙНМРЕЙЯРЕ БНГБПЮЫЮЕР ЙНКХВЕЯРБН ГМЮВЕМХИ УЕЬЮ.
бНГБПЮЫЮЕР ГМЮВЕМХЕ ЯРПНЙХ ЙЮЙ БЕЙРНП АЕГГМЮЙНБШУ ЖЕКШУ.
нФХДЮРЭ НЙНМВЮМХЕ ОНПНФДЕММНЦН ОПНЖЕЯЯЮ. бНГБПЮЫЮЕР PID ДКЪ ПНДХРЕКЭЯЙНЦН ОПНЖЕЯЯЮ ХКХ -1, ЕЯКХ МЕР - ОПНЖЕЯЯЮ ОНРНЛЙЮ. йНД ГЮБЕПЬЕМХЪ ГЮОХЯШБЮЕРЯЪ Б ОЕПЕЛЕММСЧ $?.
нФХДЮРЭ НЙНМВЮМХЪ ОПНЖЕЯЯЮ ОНРНЛЙЮ Я СЙЮГЮММШЛ PID. бНГБПЮЫЮЕР КХАН PID ЩРНЦН ОПНЖЕЯЯЮ КХАН -1 ЕЯКХ МЕР РЮЙНЦН ОПНЖЕЯЯЮ. йНД ГЮБЕПЬЕМХЪ ГЮОХЯШБЮЕРЯЪ Б ОЕПЕЛЕММСЧ $?.
бНГБПЮЫЮЕР true, ЕЯКХ ОНДОПНЦПЮЛЛЮ БШГШБЮЕРЯЪ Б ЯОХЯЙНБНЛ ЙНМРЕЙЯРЕ Х false - Б ЯЙЮКЪПМНЛ.
бШБНДХР Б ЯРЮМДЮПРМШИ ОНРНЙ НЬХАНЙ STDERR ЯННАЫЕМХЕ ЮМЮКНЦХВМН die(), МН МЕ ОПЕЙПЮЫЮЕР ПЮАНРС ОПНЦПЮЛЛШ.
write ТЮИК
write БШПЮФЕМХЕ
write
бШБНДХР Б ТЮИК ТНПЛЮРХПНБЮММШЕ ДЮММШЕ ОН НОЕПЮРНПС format. оН СЛНКВЮМХЧ ХЛЪ ТНПЛЮРЮ ЯНБОЮДЮЕР Я ХЛЕМЕЛ СЙЮГЮРЕКЪ ТЮИКЮ. хЛЪ ТЮИКЮ ОН СЛНКВЮМХЧ ЛНФМН ХГЛЕМХРЭ ТСМЙЖХЕИ select(), Ю ХЛЪ ТНПЛЮРЮ ОПХ ЩРНЛ МЮДН ОПХЯБНХРЭ ОЕПЕЛЕММНИ $~. гЮЦНКНБНЙ КХЯРЮ ОХЬЕРЯЪ ЮБРНЛЮРХВЕЯЙХ. еЯКХ МЮ КХЯРЕ МЕ УБЮРЮЕР ЛЕЯРЮ ДКЪ БШБНДЮ, РН БШБНДХРЯЪ "ОЕПЕБНД ТНПЛЮРЮ" Х ЯОЕЖХЮКЭМЮЪ ТНПЛЮ ГЮЦНКНБЙЮ КХЯРЮ, ГЮРЕЛ ЯЮЛХ ГЮОХЯХ. оН СЛНКВЮМХЧ ХЛЪ ТНПЛЮРЮ ГЮЦНКНБЙЮ КХЯРЮ ЯНЯРНХР ХГ ХЛЕМХ СЙЮГЮРЕКЪ ТЮИКЮ Х ДНАЮБКЕММНИ ЯРПНЙХ "_TOP". дХМЮЛХВЕЯЙХ ЩРН ЛНФМН ДЕКЮРЭ, ОПХЯБЮХБЮЪ ТНПЛЮР ОЕПЕЛЕММНИ $^. йНКХВЕЯРБН НЯРЮБЬХУЯЪ ЯРПНЙ КХЯРЮ ЯНДЕПФХРЯЪ Б ОЕПЕЛЕММНИ $- Х ЕЯКХ ОПХЯБНХРЭ ЕИ 0, РН ОПНХГНИДЕР ЯЛЕМЮ КХЯРЮ. оНДПНАМН НОХЯЮМХЕ ТНПЛЮРНБ ЯЛНРПХ Б ЦКЮБЕ тНПЛЮРШ.
нОЕПЮРНП РПЮМЯКЪРНП. яЛНРПХ ЦКЮБС нОЕПЮРНПШ.
[мЮГЮД] [яНДЕПФЮМХЕ] [бОЕПЕД]