Ocenite etot tekst:


     Vstroennye  funkcii  ispol'zuyutsya  kak  termy  vyrazhenij i
podrazdelyayutsya na dve kategorii: spiskovye operatory i  unarnye
operatory.  |to vliyaet na ih prioritet po otnosheniyu k operatoru
',' - zapyataya.   Spiskovye  operatory  mogut  iment'  mnozhestvo
(spisok)  argumentov,  a  unarnye  tol'ko  odin.  Takim obrazom
zapyataya zavershaet  argumenty  unarnogo  operatora  i  razdelyaet
argumenty spiskovogo.
     Argument   unarnogo   operatora  vosprinimaetsya  obychno  v
skalyarnom  kontekste  a  spiskovogo  kak  v  skalyarnom  tak   i
spiskovom  prichem skalyarnye argumenty idut pervymi. V dal'neshem
spiskovye argumenty  my  budem  oboznachat'  slovom  'LIST'  eto
znachit chto funkciya imeet spisok argumentov razdelennyh zapyatoj.
Argumenty funkcij mozhno zaklyuchat'  v  kruglye  skobki  i  takim
obrazom  oboznachat'  chto  "eto  funkciya"  i  prioritet ne imeet
znacheniya  inache  eto   spiskovyj   ili   unarnyj   operator   s
opredelennym  fiksirovannym  prioritetom.  Probel  posle  imeni
funkcii  i  skobkoj  znacheniya   ne   imeet.    Poetomu   bud'te
vnimatel'ny!

Primer:
	print 1 + 2 + 3; # rezul'tat 6

	print(1+2)+3;	# rezul'tat 3

	print (1+2)+3;	# opyat' 3

	print (1+2+3);	# 6

Esli funkciya vozvrashchaet rezul'tat kak v skalyarnom tak i v spiskovom kontekste
to kod vyhoda po oshibke - skalyar c neopredelennym znacheniem ili pustoj
spisok.

Zapomnite pravilo:

	Ne sushchestvuet obshchego pravila preobrazovaniya spiska v skalyar!

Kazhdyj operator i funkciya imeyut svoj vid znacheniya v skalyarnom kotekste.
Dlya odnih eto kolichestvo elementov iz skalyarnogo konteksta. Dlya drugih
pervyj element spiska ili poslednij ili kolichestvo
uspeshnyh operacij. Kazhdyj svoe esli vy special'no ne ukazyvaete.



	-X ukazatel' fajla
	-X vyrazhenie
	-X

Proverka fajla, gde 'X' odno iz nizhe opisannyh znachenij.
|to unarnyj operator s odnim argumentom - libo imenem fajla libo
ukazatelem fajla. Proveryaet odno iz uslovij. Esli argument ne ukazan
to beretsya znachenie peremennoj $_. Dlya klyucha -t STDIN.
Rezul'tat 1 esli true i '' esli false ili neopredelennoe znachenie
esli fajl ne najden. Nesmotrya na strannyj vid eto unarnyj operator
s sootvetsvuyushchim prioritetom. Argument mozhno zaklyuchat' v kruglye skobki.
'X' imeet sleduyushchie znacheniya:

	-r	Fajl razreshen na chtenie effektivnym uid/gid
	-w	na zapis' -//-
	-x	ispolnenie -//-
	-o	prinadlezhit effektivnomu uid (identifikator pol'zovatelya)

	-R	Fajl razreshen na chtenie real'nym uid/gid
	-W	na zapis' -//-
	-X	ispolnenie -//-
	-O	prinadlezhit real'nomu uid

	-e	fajl sushchestvuet
	-z	pustoj
	-s	ne pustoj

	-f	obychnyj tekst
	-d	direktoriya
	-l	simvolicheskaya ssylka
	-p	pipes (konvejer)
	-S	socket (gnezdo)
	-b	special'noe blochnoe ustrojstvo
	-c	-//- simvol'noe -//-
	-t	ukazatel' na ust-vo tty

	-u	ustanovlen bit setuid
	-g	-//- setgid
	-k	-//- sticky

	-T	tekstovoj fajl
	-B	dvoichnyj

	-M	"vozrast" fajla v dnyah na moment starta skripta
	-A	dnej s poslednego chteniya
	-C	dnej s poslednej modifikacii inode




        Absolyutnoe znachenie vyrazheniya



	Okryt' novyj sokit po vneshnemu zaprosu. Analogichno
sistemnomu vyzovu accept(). Vozvrashchaet adres ili false v sluchae
neudachi.



	Poslat' signal SIGALARM tekushchimu processu
po istechenii ukazannogo promezhutka vremeni. Ne dopustimo delat'
neskol'ko vyzovov odnovremenno v odnom promezhutke vremeni.
Vozvrashchaet ostatok vremeni predydushchego schetchika.



	Arktanges otnosheniya Y k X v predelah ot -pi do +pi.



	Naznachit' setevoj adres sokitu. Podobno sistemnomu
vyzovu bind. Vozvrashchaet true v sluchae uspeha i false inache.
Imya - paketnyj adres sokita.


	Otkryt' fajl dlya dvoichnogo (binary) rezhima dostupa.
V obychnom rezhime pri vvode simvoly CR LF transliruyutsya v LF,
a pri vyvode LF transliruetsya v CR LF.


bless ssylka

	Dannaya funkciya opredelyaet chto ob容kt ukazannyj ssylkoj
prinadlezhit klassu. Esli klass ne ukazan to on otnositsya k tekushchemu
klassu. Obychno eto poslednij operator v konstruktore ob容kta.
Neobhodimo obyazatel'no ukazyvat' imya klassa esli opredelyaemyj
ob容kt mozhet nasledovat'sya klassom-potomkom.


caller
	Vozvrashchaet kontekst vyzova tekushchej podprogrammy.
V skalyarnom kontekste true esli eto podprogramma ili procedura
vyzvannaya operatorami eval() ili require() i false - inache.
V spiskovom eto spisok ($package, $filename, $line)
gde
	$package - imya paketa
	$filename - imya fajla paketa
	$line - nomer stroki otkuda byl sdelan vyzov.

Esli ukazano vyrazhenie to vozvrashchaetsya spisok:

	($package, $filename, $line, $subroutine, $hasargs, $wantargs)
Vyrazhenie opredelyaet "glubinu" vlozhennosti prosmotra steka vyzovov.

	$subroutine - imya podprogrammy
	$hasargs - imeyushchiesya argumenty
	$wantargs - neobhodimye argumenty
Primenenie dannoj funkcii v DB pakete vozvrashchaet bolee detal'nuyu
informaciyu. K spisku argumentov dobavlyaetsya spisok @DB::args.



	Perejti v direktoriyu ukazannuyu vyrazheniem. Esli
vyrazhenie otsutsvuet to perejti v "domashniyu" direktoriyu.
Vozvrashchaet true v sluchae uspeha i false - neudachi.



	Izmenit' prava dostupa k fajlam ukazannym v spiske.
Pervyj element v spiske - chislovoe ,obychno vos'merichnoe znachenie prav.
Vozvrashchaet kolichestvo fajlov kotorym byli izmeneny prava.

Primer:		chmod 0666 'f1', 'f2', 'f3';


chomp spisok
chomp
	Udalyaet v konce stroki simvol ukazannyj peremennoj $/.
Obychno eto 'LF'. Vozvrashchaet kolichestvo udalennyh simvolov.
Esli peremennaya ne ukazana to ispol'zuetsya peremennaya $_.
Esli ukazan spisok to obrabatyvaetsya kazhdaya stroka spiska i
vozvrashchaetsya obshchee kolichestvo udalennyh simvolov.


chop spisok
chop
	Polnost'yu analogichno funkcii chomp no vsegda udalyaet
poslednij simvol stroki.



	Izmenit' "vladel'ca" i "gruppu" fajlov spiska.
Pervyj element - nomer novogo vladel'ca, vtoroj nomer novoj gruppy
a dalee spisok fajlov.
V bol'shinstve YUniks-sistem vy ne smozhete smenit' vladel'ca esli vy
ne superpol'zovatel', no mozhete izmenit' gruppu esli eto odna iz
vashih "vtorichnyh" grupp.


	Vozvrashchaet simvol s ukazannym kodom kodirovki.



	Sdelat' "kornevoj" ukazannuyu direktoriyu.
"Kornevaya" - znachit vnutri programmy na nee mozhno ssylat'sya kak '/'.


	Zakryt' otkrytyj fajl ili potok. Mozhno ne ispol'zovat'
esli odin i tot zhe fajl otkryvaetsya povtortno t.k. on budet
avtomaticheski zakryvat'sya novym vyzovom open().



	Zakryt' direktoriyu otkrytuyu funkciej opendir().



	Svyazat'sya s udalennym sokitom. Dannaya funkciya podobna
sistemnomu vyzovu connect(). Vozvrashchaet true v sluchae uspeha
i false pri oshibke.


	Kosinus vyrazheniya v radianah.



	SHifraciya tekta. Analogichno sistemnomu crypt().



	Zakryvaet svyaz' mezhdu hesh i bazoj dannyh.



	Associirovat' ukazannyj hesh i bazu v opredelennom rezhime.
Delo v tom chto v Pel realizovan ochen' udobnyj mehanizm raboty
s bazami dannyh tipa dbm, ndbm, sbdm, gdbm i Berkeley DB. Dlya etogo nuzhno
svyazat' (otkryt') bazu pod imenem hesha. Vsya rabota s zapisyami
bazy vypolnyaetsya tak budto eto obychnyj hesh (associativnyj massiv).
Bolee podrobno smotrite opisanie funkcii AnyDBM().


	Vozvrashchaet true esli znachenie opredeleno (sushchestvuet)
i false esli net. Mnogie operacii zavershayutsya ne opredelennym
znacheniem, naprimer chtenie posle konca fajla, ispol'zovanie
ne opredelennyh peremennyh, sistemnye oshibki i t.d.
Dannaya funkciya pozvolyaet razlichat' nulevoe i ne opredelennye
znacheniya, opredelennost' ili ne opredelennost' funkcij ili
ssylok. Pri ispol'zovanii opredelennosti klyucha v heshe
ona vozvrashchaet opredelen dannyj klyuch ili net no ne sushchestvuet
on ili net.


	Udalit' znachenie iz hesha. Vozvrashchaet udalyaemoe znachenie
ili ne opredelennost' esli ni chego ne udalyaetsya.
Udalenie iz massiva okruzheniya $ENV{} - izmenyaet okruzhenie.
Udalenie iz hesha svyazannogo s bazoj dannyh - udalyaet zapis' v
baze dannyh.


	Esli programma ne byla zapushchena iz eval() dannaya
funkciya vyvodit spisok v potok STDERR i zavershaet rabotu
programmy s kodom iz peremennoj $!. Esli $! soderzhit 0
to s kodom ($? >> 8). Esli i eto 0 to s kodom 255.
Pri vyzove iz eval() soobshchenie ob oshibke zanositsya v peremennuyu $@
i eval() zavershaetsya s neopredelennym znacheniem. |to pozvolyaet
otrobatyvat' oshibochnye situacii ne zavershaya golovnoj modul'.
Esli stroka iz spiska ne zavershaetsya simvolom '\n' to dopolnitel'no
pechataetsya nomer stroki skripta otkuda vyzvana funkciya i nomer
vhodnoj stroki isli takovoj imeetsya.


	|to ne sovsem funkciya. Zdes' vozvrashchaetsya znachenie
poslednego operatora bloka. Kogda ispol'zuetsya ciklicheskij modifikator
BLOCK ispolnyaetsya pered proverkoj usloviya cikla v otlichii ot obychnyh
ciklov.



	Ustarevshij metod vyzova podprogramm.


	Znachenie vyrazheniya vosprinimaetsya kak imya fajla Pel skripta.
Iznachal'no eto primenyalos' dlya vklyucheniya podprogramm biblioteki.
Sejchas pravil'nej ispol'zovat' vyzovy use() i require() kotorye
obespechivayut kontrol'  oshibok i zaversheniya.


	Vypolnnie "dampa" tekushchej pamyati. Primenyalos' dlya
vozmozhnosti isrol'zovat' programmu undump chto by vklyuchit' tekushchij
ispolnyaemyj kod v programmu posle inicializacii vseh peremennyh.
Vypolnenie etoj novoj programmy budet nachinat'sya operatorom
goto metka. Esli metka opushchena to zapusk snachala.
Vnimanie! Fajly otkrytye do momenta dampa ne budut otkrytymi
v moment ispolneniya  novoj programmoj.


	Vozvrashchaet 2-elementnyj massiv. Pervyj element - klyuch
vtoroj - znachenie sleduyushchego elementa hesha. Pozvolyaet
"prosmatrivat'" vse znacheniya hesha v opredelennom poryadke.
Sbros peremennoj cikla proishodit tol'ko posle prohlzhdeniya vsego
massiva.


eof()
eof
	Vozvrashchaet 1 esli vypolnyaetsya chtenie posle konca ili
chtenie iz ne otkrytogo fajla. Argumentom dolzhno byt' vyrazhenie
vozvrashchayushchee sushchestvuyushchij ukazatel' fajla. Dannuyu funkciyu nel'zya
ispol'zovat' dlya chteniya fajlov otkrytyh kak terminaly.
Esli argument ne ukazan to ispol'zuetsya poslednij chitaemyj fajl.
Ispol'zovanie v forme eof() celesoobrazno primenyat' v ciklah
while(<>) dlya opredeleniya konca tol'ko poslednego fajla iz
spiska. Primenyajte eof(ARGV) ili eof dlya opredeleniya konca
kazhdogo fajla iz spiska.


eval blok
	Vyrazhenie skaniruetsya i vypolnyaetsya kak obychnaya Pel programma.
|to delaetsya v kontekste tekushchej programmy poetomu mozhno ispol'zovat'
uzhe opredelennye peremennye i podprogrammy.
Vorzvrashchaetsya rezul'tat poslednego operatora v bloke ili znachenie
operatora return. Esli obnaruzhitsya sintaksicheskaya oshibka ili vypolnitsya
operator die vozvrashchaetsya ne opredelennoe znachenie a peremennaya $@
soderzhit soobshchenie ob oshibke. Esli oshibki ne bylo to $@ soderzhit
nulevuyu stroku. Pri otsutsvii argumenta beretsya znachenie peremennoj $_.


	Vypolnyaetsya sistemnaya komanda iz spiska i vypolnenie
programmy zavershaetsya. Esli vam neobhodimo vernut'sya to luchshe
primenyajte funkciyu system(). Esli v spiske kolichestvo argumentov
bol'she 1 ili spisok eto massiv s kolichestvom elementov bol'she 1
to vypolnyaetsya sistemnyj vyzov execvp() s argumentami iz spiska.
Esli odin skalyarnyj argument to on skaniruetsya na obrabotku
metasimvolov i esli oni prisutsvuyut to poluchennye argumety
peredayutsya interpretatoru /bin/sh -c dlya dal'nejshej obrabotki.
Esli metasimvolov net to argument rasshcheplyaetsya na slova i peredaetsya
sistemnomu vyzovu execvp() chto bolee effektivno.
Vnimanie! exec() i system(0) ne sbrasyvayut bufer vvoda/vyvoda
poetomu neobhodimo ustanovit' peremennuyu $| dlya predotvrashcheniya
poteri vyhodnoj informacii.


	Vozvrashchaet true esli sushchestvuet ukazannyj klyuch hesha
dazhe esli ne opredeleno ego znachenie.


	Vypolnenie programmy zavershaetsya s kodom vyrazheniya.


	Vozvrashchaet e (osnovanie natural'nogo logarifma) v stepeni
vyrazheniya.


	Vypolnyaet sistemnyj vyzov fcntl(). Dlya ispol'zovaniya
obyazatel'no vypolnit' use Fcntl;


	Vozvrashchaet opisatel' fajla dlya dannogo ukazatelya fajla.


	Sistemnyj vyzov flock()


	Sistemnyj vyzov fork(). Vozvrashchaet pid potomka dlya roditelya
i 0 dlya potomka v sluchae uspeha inache - neopredelennoe znachenie.


	Deklarativnaya funkciya Pel. Opredelyaet format vyvoda dlya
operatora write. Podrobno smotrite glavu Formaty.


	Vnutrennyaya funkciya ispol'zuemaya v format. Formatiruet
vyvod parametrov iz spiska. Rezul'tat pomeshchaetsya v peremennuyu $^A
Funkciya write prosto vyvodit znachenie etoj peremennoj, no ee tak zhe
mozhno chitat' a zatem obnulyat'. Obychno format vypolnyae odin vyzov
formline dlya odnoj stroki formy, no formline ne razdelyaet stroki
formata. |to znachit chto simvoly '~' i '~~' rassmatrivayut ves'
format kak odnu stroku poetomu neobhodimo ispol'zovat' mnogostrochnye
formyd dlya opisaniya odnoj zapisi formata.


getc
	CHitaet i vozvrashchaet simvol iz ukazannogo fajla.
Esli fajl ne ukazan to chitaetsya STDIN. Posle konca fajla vozvrashchaet
pustuyu stroku.


	Vozvrashchaet tekushchij login iz fajla /etc/utmp
Ne primenyajte dlya identifikacii pol'zovatelya on ne tak sil'no
"zakryt" kak getpwuid().


	Vozvrashchaet upakovannyj adres udalennogo sokita.


	Vozvrashchaet gruppu processa s ukazannym PID. Esli
argument otsutsvuet vozvrashchaet gruppu tekushchego processa.



	Vozvrashchaet PID roditel'skogo processa.


	Vozvrashchaet tekushchij prioritet processa, gruppy processov
ili pol'zovatelya.



getpwnam NAME

getgrnam NAME

gethostbyname NAME

getnamebyname NAME

getprotobyname NAME

getpwuid UID

getgrid GID

getservbyname NAME, PROTO

gethostbyaddr ADDR, ADDRTYPE

getnetbyaddr ADDR, ADDRTYPE

getprotobynumber NUMBER

getservbyport PORT, PROTO

getpwent

gethostent

getnetent

getprotoent

getservent

setpwent

setgrent

sethostent STAYOPEN

setnetent STAYOPEN

setprotoent STAYOPEN

setservent STAYOPEN

endpwent

endgrent

endhostent

endnetent

endprotoent

endservent

	Vse eti funkcii anologichny odnoimennym sistemnym vyzovam.
V spiskovom kontekste vozvrashchayut sleduyushchie spiski:

($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*

V skalyarnom kontekste vozvrashchaetsya imya ili chto-to drugoe v zavisimosti
ot tipa funkcii.
|lement $members v vyzove getgr soderzhit razdelennye probelom imena
chlenov gruppy.
@addrs soderzhit IP adresa komp'yuterov v seti Internet v upakovannom vide.
Dlya raspakovki primenyajte: ($a, $b, $c, $d) = unpack('C4',$addr[0]);



	Vozvrashchaet upakovannyj adress sokita lokal'noj mashiny.


	Vozvrashchaet opciyu sokita.


	Vozvrashchaet spisok fajlov udovletvoryayushchih vyrazheniyu s '*'
kak v komande ls.


	Perevodit mestnoe vremya poluchennoe funkciej time() vo vremya
po Grinvichu.
Obychno ispol'zuetsya v vide:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=gmtime(time);


goto vyrazhenie
goto &podprogramma
	Buzuslovnyj perehod na metku. Nel'zya delat' perehod na
metku v strukturu kotoraya dolzhna byt' iniciirovana naprimer podprogrammu
ili cikl foreach i t.d.
Vtoraya forma primenyaetsya dlya dinamicheskogo opredeleniya perehoda.

Naprimer:
	goto ('metka1', 'metka2', 'metka3')[$i];

Zdes' pri $i = 0 budet perehod na 'metka1', $i = 1 na 'metka2' i t.d.

Tret'ya forma (goto &podprogramma) dovol'no "hitryj" metod podmeny
imeni vyzyvaemoj podprogrammy imenem tekushchej. |to ispol'zuetsya
v metode avtozagruzki kogda nuzhno zapustit' druguyu proceduru
no pod imenem tekushchej kak-budto ta byla vyzvana ran'she.



grep vyrazhenie, spisok
	Vypolnyat blok ili vyrazhenie dlya kazhdogo elementa spiska.
Peremennaya $_ soderzhit tekushchij element.
Vozvrashchaet spisok elementov s kotorymi vyrazhenie dalo rezul'tat true.
V skalyarnom kontekste vozvrashchaet kolichestvo rezul'tatov true.


	Vosprinimaet vyrazhenie kak stroku shestnadcetirichnyh cifr
i vozvrashchaet desyatichnoe znachenie.


	V Pel net vstroennoj funkcii import, no est' metod
s pomoshch'yu kotorogo moduli mogut eksportirovat' oblast' imen
drugim modulyam. Podrobno smotrite funkciyu use().


index stroka, podstroka
	Vozvrashchaet poziciyu pervogo vhozhdeniya podstroki v stroke
nachinaya s ukazannoj pozicii. Esli poziciya otsutsvuet to sravnenie
nachinaetsya s nachala stroki. Otschet pozicii vedetsya s 0 esli tol'ko
ne izmeneno znachenie vstroenoj peremennoj $[. Esli podstroka ne
najdena to rezul'tat men'she pervoj pozicii na 1. Obychno eto -1.

int vyrazhenie
        Vozvrashchaet celuyu chast' vyrazheniya.


	Vypolnyaet sistemnyj vyzov ioctl(). V nachale programmy
neobhodimo ukazat': require "ioctl.ph";


	Soedinyaet stroki spiska ili massiva v odnu stroku
s kodom razdelitelya ravnomu vyrazheniyu.


	Vozvrashchaet massiv vseh klyuchej hesha. V skalyarnom
kontekste - kolichestvo klyuchej. Poryadok sledovaniya klyuchej
analogichen poryadku v each funucii.


	Poslat' signal (pervyj element) ukazannym v spiske
processam. Vozvrashchaet kolichestvo processov kotorye signal prinyali.


last
	Funkciya analogichnaya break v S. Preryvaet cikl i perehodit
na ukazannuyu metku. Esli metki net na blizhajshij vneshnij cikl.
Blok continue ne vypolnyaetsya.


	Preobrazovat' stroku v bukvy nizhnego registra.


	Zamenit' pervuyu bukvu stroki na maluyu.


	Vozvrashchaet dlinu stroki vyrazheniya.


	Sozdat' fajl NEWFILE svyazannyj s fajlom OLDFILE.


	Vypolnit' sistemnyj listen().


	Ob座avlyaet perechislennye peremennye kak lokal'nye v tekushchem
bloke ili podprogramme. Esli ukazano dva i bolee imeni ih
neobhodimo zaklyuchit' v kruglye skobki. Predpochtitel'nej ispol'zovat'
funkciyu my().


	Preobrazovat' 9-elementnyj massiv vozvrashchaemyj fugkciej
time otnositel'no mestnogo vremeni. Upotreblyaetsya kak:

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);


	Vozvrashchaet natural'nyj logarifm vyrazheniya.


lstat vyrazhenie
	To zhe chto i sistemnyj vyzov stat() no kasatel'no ssylki
na fajl a ne samogo fajla.


	Operator soavpadeniya. Smotri glavu "Operatory"


map vyrazhenie, spisok
	Vypolnyaet blok ili vyrazhenie dlya kazhdogo elementa spiska.
Vozvrashchaet spisok rezul'tatov.


	Sozdat' direktoriyu s ukazannymi pravami dostupa. Vozvrashchaet
1 pri uspehe i 0 pri neudache.


	Sistemnyj vyzov msgctl() System V


	Sistemnyj vyzov msgget() System V


	Sistemnyj vyzov msgsnd() System V


	Sistemnyj vyzov msgrcv() System V


	Ob座avlyaet lokal'nymi peremennye v spiske.
Esli dva ili bolee imeni ih neobhodimo zaklyuchit' v kruglye skobki.


next
	Analogichen continue v S. Perehod k sleduyushchej iteracii v cikle.
Esli v cikle prisutsvuet blok continue on tak zhe vypolnyaetsya.
Esli metka otsutsvuet - perehod na blizhajshij vnutrennij cikl.


	Isklyuchit' ispol'zovanie ukazannyh modulej.


	Vozvrashchaet desyatichnoe chislo predstavlennoe vos'merichnymi ciframi.


open fajl
	Otkryt' fajl s ukazannym imenem. Argument "fajl" - eto
fakticheski ukazatel' na blok opisaniya fajla. Esli imya (vyrazhenie)
fajla otsutsvuet to imya schitaetsya takim zhe kak i ukazatel' fajla.
Esli pered imenem stoit simvol '<' to fajl otkryvaetsya tol'ko
na chtenie (znachenie po umolchaniyu). Esli '>' - na zapis'.
Esli '>>' - na dobavlenie zapisej. '+>' ili '+<' - fajl otkryt
na chtenie i zapis' odnovremenno.
Esli imya fajla nachinaetsya s simvola '|' to imya schitaetsya sistemnoj
komandoj na vhod kotoroj vyvodyatsya dannye (potok).
Imya '-' - standartnyj vhod (STDIN), '>-' - standartnyj vyvod (STDOUT).
Funkciya vozvrashchaet true pri uspehe i false - neudache.

	Esli imya (vyrazhenie) nachinaetsya s simvolov ">&" to ostatok
imeni schitaetsya imenem ukazatelya fajla kotoryj okryvaetsya povtorno.
Simvol '&' mozhet stoyat' posle '<', '>>', '+>', '+>>' i '+<'.
Rezhim povtornogo otkrytiya dolzhen sootvetsvovat' pervomu.
Vyrazhenie vida "<&=N" gde N -chislo, ekvivalentno sistemnomu vyzovu
fdopen().
Esli imya "|-" ili "-|" to proishodit "rasshcheplenie" (fork) processa
na potomka i roditelya. Pri etom vozvrashchaetsya nomer processa potomka
(PID) vnutri roditel'skogo processa i 0 - vnutri potomka. Pri etom
zapis'/chtenie v fajl roditel'skim processom vosprinimaetsya kak
chtenie/zapis' potomkom. Dlya potomka eto standartnyj vvod/vyvod.
Roditel'skij process zhdet zaversheniya potomka posle zakrytiya potoka
i poluchaet kod zaversheniya v peremennoj $?.
Imya fajla ne dolzhno soderzhat' probelov kak v nachale tak i v konce.



	Otkryt' direktoriyu s imenem vyrazheniya dlya obrabotki
funkciyami readdir(), telldir(), seekdir(), rewinddir() i closedir().
Vozvrashchaet true pri uspehe.


	Vozvrashchaet ascii kod pervogo simvola vyrazheniya.


	Upakovyvaet spisok v dvoichnuyu strukturu po shablonu.
SHablon - eto stroka simvolov opisyvayushchaya poryadok i tip upakovannyh
znachenij.

	A	- tekstovaya stroka, dobavlyaetsya probelami.

	a	- tekstovaya stroka, dobavlyaetsya 0 simvolom.

	b	- bitovaya stroka (vozrastayushchaya numeraciya bit)

	B	- bitovaya stroka (ubyvayushchaya numeraciya bit)

	h	- shestnadcaterichnaya stroka ( mladshij bajt - pervyj)

	H	- shestnadcaterichnaya stroka (starshij bajt pervyj)

	c	- simvol so znakom

	C	- simvol bez znaka.

	s	- korotkoe celoe (odin bajt) so znakom.

	S	- korotkoe celoe bez znaka.

	i	- celoe (dva bajta) so znakom.

	I	- celoe bez znaka.

	l	- dlinnoe celoe (4 bajta) so znakom.

	L	- dlinnoe celoe bez znaka.

	n	- korotkoe v "setevom" formate.

	N	- dlinnoe v "setevom" formate.

	v	- korotkoe v "VAX" formate.

	V	- dlinnoe v "VAX" formate.

	f	- single float.

	F	- double float.

	p	- ukazatel' na stroku ogranichennuyu 0.

	P	- ukazatel' na strukturu s fiksirovannoj dlinoj.

	u	- upakovka uuencode.

	x	- nul'-bajt

	X	- rezervnyj bajt.

	@	- zapolnit' nulyami poziciyu.

Za kazhdoj bukvoj mozhet stoyat' chislo oznachayushchee kolichestvo povtorov.
Dlya vseh tipov za isklyucheniem 'a', 'A', 'b', 'B', 'h' i 'H',
upakovyvaetsya maksimal'no vozmozhnoe kolichestvo znachenij iz spiska.
Simvol '*' posle tipa oznachaet ispol'zovat' ostavshiesya parametry.
Tip 'a' i 'A' ispol'zuet tol'ko odno znachenie iz spiska i dobavlyaet
ostatok polya libo nul'-simvolami libo probelami (pri raspakovke
po tipu 'A' probely i nuli otbrasyvayutsya, a po 'a' - net).
Tipy 'b' i 'B' upakovyvayut stroku v ukazannoe chislo bit.
Tak zhe kak i 'h' i 'H' v chislo niblov (bajt).
'P' - upakovyvaet ukazatel' na strukturu s ukazannoj dlinoj.
CHisla s plavayushchej zapyatoj (floats i double) zapisyvayutsya v
standartnom dlya kazhdoj mashiny formate i mogut byt' raznymi
dlya raznyh tipov mashin. Zamet'te, chto Pel vsegda ispol'zuet
dvojnuyu tochnost' (double) poetomu upakovka i raspakovka po
tipu 'f' privedet k potere tochnosti.
SHablony dlya raspakovki i upakovki sovershenno odinakovy.

Primery:

	print(pack("ccc",65,66,67)); # Rezul'tat ABC

	print(pack("A4A3","ab","cdefg")); # "ab  cde"

	print(pack("a4a3","ab","cdefg")); # "ab\0\0cde"


	Analogichen sistemnomu pipe().


	Udalyaet i vozvrashchaet poslednij element massiva.
Dlina massiva umen'shaetsya na 1. Rezul'tat ne opredelen esli massiv
pustoj. Esli imya massiva otsutsvuet to izvlekaet iz @ARGV
dlya golovnoj programmy i @_ dlya polprogrammy.


	Vozvrashchaet smeshchenie ot poslednego m//g poiska.


print spisok
print
	Vyvodit stroku ili spisok strok v fajl. Vozvrashchaet true
pri uspehe. Argument fajl mozhet byt' skalyarnoj peremennoj soderzhashchej
imya ukazatelya fajla esli on otsutsvuet to osushchestvlyaetsya vyvod
v standartnyj vyhodnoj potok STDOUT (esli ne bylo vyzova select()).
Esli spisok otsutsvuet to vyvoditsya znachenie peremennoj $_.
Dlya vyvoda po umolchaniyu v drugoj fajl neobhodimo ispol'zovat'
funkciyu select().
Tak kak print rabotaet v spiskovom kontekste, to vse elementy spiska
tak zhe vychislyayutsya v spiskovom kontekste t.e. funkcii budut vozvrashchat'
spiskovye znacheniya. Argumenty mozhno zaklyuchat' v kruglye skobki.
Esli ukazatel' fajla - element massiva to element nuzhno zaklyuchit'
v figurnye skobki dlya vychisleniya bloka.


printf spisok
	Analogichen vyzovu "print fajl sprintf(spisok)".
Pervyj element spiska dolzhen byt' formatom printf() kak i v S.


	Dobavit' elementy massiva znacheniyami iz spiska.
Dlina massiva uvelichivaetsya na kolichestvo elementov spiska.


qq/stroka/
qx/stroka/
qw/stroka/
	Obychnye operatory strok. Smotri glavu Operatory.


	Vychislyaet vyrazhenie v kotorom metasimvoly rassmatrivayutsya
kak obychnye simvoly.


rand
	Vozvrashchaet sluchajnoe chislo v diappazone mezhdu 0 i vyrazheniem.
Esli vyrazhenie otsutsvuet - mezhdu 0 i 1. Dannaya psevdosluchajnaya
posledovatel'nost' sbrasyvaetsya funkciej srand().


read fajl, skalyar, dlina
	Prochitat' ukazannoe chislo bajt iz fajla v skalyarnuyu peremennuyu.
Vozvrashchaet kolichestvo prochitanyh bajt ili neopredelennost' pri
oshibke. Dlina skalyara stanet ravnoj kolichestvu schitannyh bajt. Smeshchenie
ukazyvayut esli dannye nuzhno pomestit' ne s samogo nachala stroki.


	Vozvrashchaet imya sleduyushchego fajla v direktorii otkrytoj komandoj
opendir(). V skalyarnom kontekste vozvrashchaet vse ostavshiesya imena
fajlov. Esli fajlov bol'she net to vozvrashchaet neopredelennost' v
skalyarnom kontekste i pustuyu stroku v spiskovom.


	Vozvrashchaet znachenie simvolicheskoj ssylki. Pri oshibke
vozvrashchaet neopredelennoe znachenie.


	Poluchit' soobshchenie iz sokita. Analogichen sistemnomu recvfrom().


redo
	Perejti k nachalu bloka minuya vychislenie usloviya i bloka
continue. Esli metka otsutsvuet to perehod k blizhajshemu vneshnemu
bloku.


	Vozvrashchaet true esli vyrazhenie eto ssylka inache - false.
Vozvrashchaemoe znachenie zavisit ot tipa ssylki. Sushchestvuyut
sleduyushchie tipy ssylok:

	REF, SCALAR, ARRAY, HASH, CODE, GLOB

Esli argument - ssylka na klass to vozvrashchaetsya imya klassa.
Funkciya ref() analogichna funkcii typeof().


	Pereimenovat' fajl. Vozvrashchaet 1 v sluchae uspeha inache 0.


require
	Esli vyrazhenie - chislo, trebuet chto by tekushchaya versiya
Pel byla ne nizhe ukazannoj. Esli stroka - schityvaet bibliotechnyj fajl
s ukazannym imenem esli on eshche ne prochitan.
Poslednij operator bibliotechnogo fajla dolzhen vozvrashchat' true.
Obychno eto stroka vida 1;
Esli rasshirenie imeni fajla otsutsvuet to po umolchaniyu prinimaetsya ".pm"
V dannoj funkcii mozhno ukazyvat' put' raspolozheniya fajla, a esli
biblioteka raspolozhena v standartnoj sistemnoj oblasti Pel to vmesto
require predpochtitel'nej ispol'zovat' use().


reset
	Obychno ispol'zuetsya v blokah continue ciklov dlya
ochistki peremennyh i poiska dlya povtornogo primeneniya.
Vyrazhenie vosprinimaetsya kak spisok simvolov. Dlya ukazaniya
diappazona mozhno primenyat' simvol minus '-'.
Vse peremennye i massiva nachinayushchiesya s etih simvolov
obnulyayutsya. Esli vyrazhenie otsutsvuet to obnulyaestya poisk
?shablon? dlya povtornogo poiska. Sbrasyvayutsya tol'ko
peremennye tekushchego modulya.

Primer:
	reset 'a';	# ochistit' vse peremennye nachinayushchiesya
			# bukvoj 'a'
	reset 'a-z'	# vse peremennye s malyh bukv.

Vyrazhenie vida: 'A-Z' upotreblyat' ne rekomenduestya t.k.
obnulyayutsya vazhnye massivy @ARGV i @ENV.


	Vyhod iz podprogrammy s ukazannym kodom. Esli dannaya
funkciya otsutsvuet to vyhod iz podprogrammy osushchestvlyaetsya s
kodom poslednego vypolnennogo operatora.


	V spiskovom kontekste vozvrashchaet spisok s elementami
v obratnom poryadke ukazannomu spisku. V skalyarnom kontekste
vozvrashchaet stroku sperestavlennymi simvolami pervogo elementa
spiska.


	Ustanavlivaet ukazatel' fajlov otkrytoj direktorii
v nachalo dlya posleduyushchego chteniya funkciej readdir().


rindex stroka, podstroka
	Podobna funkcii index , no vozvrashchaet poziciyu poslednego
vhozhdeniya podstroki v stroku. Esli ukazana poziciya, to prosmotr
vypolnyaetsya do nee.


	Udalit' ukazannuyu direktoriyu esli v nej net nikakih fajlov.
Vozvrashchaet 1 pri uspehe i 0 pri ne udache. Pri etom peremennaya $!
soderzhit kod (errno).




	Vychislyaet vyrazhenie v skalyarnom kontekste i vozvrashchaet
rezul'tat. V Pel net special'noj funkcii dlya prinuditel'nogo
vychisleniya v spiskovom kontekste t.k. dlya dostatochno zaklyuchit'
ego v kruglye skobki.


	Ustanovit' ukazatel' na proizvol'nuyu poziciyu v fajle.
Esli otschet raven 0 - pozicionirovat' ot nachala fajla, esli  1 - ot
tekushchego polozheniya, 2 - ot konca fajla. Vozvrashchaet 1 pri uspehe
i 0 - neudache.


	Ustanovit' ukazatel' fajla v otkrytoj direktorii dlya
posleduyushchego chteniya funkciej readdir(). Tekushchaya poziciya
mozhet byt' poluchena funkciej telldir().


select
	Vozvrashchaet tekushchij ukazatel' fajla- po umolchaniyu
ili delaet tekushchim ukazannyj. Takim obrazom esli v funkciyah
print ili write ne ukazan fajl vyvoda to eto osushchestvlyaetsya
v fajl ukazannyj select. Peremennye svyazannye s vyvodom tak zhe
dejstvuyut na vyvod v etot fajl.

select RBITS, WBITS, EBITS, TIMEOUT
	Vypolnyaet sistemnyj select()


	Sistemnyj vyzov semctl() dlya SYSTEM V.


	Sistemnyj vyzov semget() dlya SYSTEM V.


	Sistemnyj vyzov semop() dlya SYSTEM V.


send SOCKET, MSG, FLAGS
	Poslat' soobshchenie cherez sokit. Analogichno sistemnomu send().


	Ustanovit' nomer gruppy PGRP processu s nomerom PID
	0 = dlya tekushchego processa.


	Ustanovit' prioritet PRIORITY processu pol'zovatelya WHO
i gruppe WHICH.


	Ustanovit' parametry sokita. Vozzvrashchaet neopredelennost'
pri oshibke.


shift
	Udalyaet pervyj element massiva i vozvrashchaet ego znachenie.
Esli massiv pustoj to rezul'tat neopredelennost'. Esli argument
opushchen - obrabatyvaetsya massiv @ARGV v golovnoj programme
ili @_ v podprogramme.


	Sistemnyj vyzov shmctl() System V


	Sistemnyj vyzov shmget() System V

shmread ID, VAR, POS, SIZE
shmread ID, STRING, POS, SIZE
	Pishet ili chitaet segment obshchedostupnoj pamyati v System V.


	Prekrashchaet rabotu sokita metodom HOW.


	Vozvrashchaet v radianah sinus vyrazheniya.


sleep
	Priostanavlivaet rabotu processa na ukazannoe chislo sekund
ili zaciklivaetsya esli argument otsutsvuet. Rabota prodolzhaetsya esli
poluchen signal SIGALARM. Vozvrashchaet vremya fakticheskoj pauzy.


	Otkryvaet sokit i privyazyvaet ego k ukazatelyu SOCKET.


	Sozdaet "bezymyannuyu" paru sokitov v ukazanom DOMAIN.
Vozvrashchaet true pri uspehe i false - neudache.


sort blok spisok
sort spisok
          Sortiruet  elementy  spiska  i  vozvrashchaet poluchennyj
spisok.  Ne sushchestvuyushchie elementy spiska otbrasyvayutsya. Esli ne
ukazano  imya  podprogrammy  ili blok to sortiruet v standartnom
strokovom poryadke.
     Ukazannaya  podprogramma vozvrashchaet znacheniya bol'she, men'she
ili ravnoe  nulyu  v  zavisimosti  ot  dvuh  sosednih  elementov
spiska.  Imya podprogrammy mozhet byt' ukazano peremennoj. Ona ne
dolzhna byt' rekursivnoj  i  dva  sravnivaemyh  elementa  spiska
peredayutsya  kak  global'nye peremennye $main::a i $main::b. |to
ssylki  poetomu  ih  izmenenie  privodit  k   izmeneniyu   samih
elementov spiska.


splice massiv, smeshchenie, dlina
splice massiv, smeshchenie
	Udalyaet elementy massiva nachinaya so smeshcheniya i ukazannoj dliny.
Zamenyaet ih ukazannym spiskom. Vozvrashchaet udalennyj spisok.
Esli dlina ne ukazana udalyaet vse elementy spiska nachinaya so smeshcheniya.


split /shablon/, vyrazhenie
split /shablon/
split
	Razdelyaet stroku,ukazannuyu vyrazheniem, na massiv elementov i vozvrashchaet ego.
V skalyarnom kontekste vozvrashchaet kolichestvo poluchennyh elementov massiva,
a sam massiv pomeshchaet v @_ (v spiskovom kontekste pomestit' rezul'tat
v @_ mozhno esli primenit' ?shablon?)
Esli vyrazhenie otsutsvuet to obrabatyvaetsya soderzhimoe peremennoj $_.
Esli shablon otsutsvuet to razdelitelem yavlyaetsya probel.
Vse chto podhodit po shablonu schitaetsya razdelitelem. Esli ukazan predel
to eto maksimal'noe chislo razdelenij. Otricatel'noe znachenie predela
vosprinimaetsya kak neogranichenno bol'shoj predel.
Esli pustaya stroka pohodit pod shablon razdelitelya to ishodnoe znachenie
razdelyaetsya po simvol'no.
Predel udobno ispol'zovat' dlya chastichnogo razdeleniya stroki.

Primer:
	($a, $b, $ostatok) = split(/ /, "Odin Dva Tri CHetyre",3);

zdes' $a = 'Odin', $b = 'Dva' i $ostatok = 'Tri CHetyre'

Esli shablon soderzhit kruglye skobki to simvoly-razdeliteli ukazannye
v nih vstavlyayutsya v rezul'tiruyushchij spisok kak obychnye elementy,
prichem vstavlyaetsya simvol kotoryj sovpal s razdelitelem.

Primer:

        @a = split(/([,.])/, "Odin,Dva.Tri");

zdes' @a = ("Odin", "," ,"Dva", ".", "Tri")


	Formatiruet spisok po ukazannomu formatu analogichno
funkcii sprintf() yazyka S.


	Vozvrashchaet koren' kvadratnyj vyrazheniya.


	Zadaet nachal'noe znachenie dlya generatora sluchajnyh chisel
operatora rand. Esli argument otsutsvuet to ispol'zuetsya tekushchee
mashinnoe vremya.


stat vyrazhenie
	Vozvrashchaet 13 elementnyj massiv parametrov ukazannogo fajla
ili pustoj spisok pri oshibke. Primenyaetsya obychno sleduyushchim obrazom:

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
$blksize,$blocks) = stat($filename);

gde
	$dev	- imya ustrojstva
	$ino	- nomer i-uzla
	$mode	- prava dostupa
	$nlink	- kolichestvo svyazej
	$uid	- identifikator vladel'ca
	$gid	- identifikator gruppy
	$rdev	- tip ustrojstva
	$size	- razmer fajla v bajtah
	$atime	- data poslednego obrashcheniya
	$mtime	- data poslednej modifikacii
	$ctime	- data poslednego izmeneniya statusa
	$blksize - razmer bloka na diske
	$blocks	- kolichestvo blokov v fajle.

Esli ukazan argument '_' to vozvrashchaetsya rezul'tata predydushchego
vyzova stat().


study
	Vlyuchenie metoda chastotnogo sravneniya. Celesoobraznost'
primeneniya zavisit ot kolichestva poiskov i kolichestva konstant v
stroke v kotoroj vedetsya poisk.
Funkciya rabotaet sleduyushchim obrazom:
Dlya ukazannogo skalyara (esli argument otsutsvuet beretsya znachenie
peremennoj $_) stroitsya spisok ukazatelej na kazhdyj simvol stroki.
Zatem kogda nachinaetsya poisk pervymi prosmatrivayutsya simvoly kotorye
naibolee redko vstrechayutsya v anglijskom yazyke.
Vyigrysh po vremeni ocheviden kogda vypolnyaetsya mnogokratnyj poisk
v odnoj i toj zhe stroke i vremya zatrachennoj na indeksaciyu okupaetsya.


substr vyrazhenie, smeshchenie
	Vozvrashchaet podstroku vyrazheniya nachinaya so smeshcheniya i zadannoj
dliny. Esli smeshchenie otricatel'noe to otschet vedetsya ot konca stroki.
Esli dlina ne ukazana to beretsya vse do konca stroki.


	Sozdaet novyj fajl simvolicheski svyazannyj so starym t.e.
sozdaet ssylku na fajl. Vozvrashchaet 1 pri uspehe i 0 - neudache.


	Vypolnyaet sistemnuyu funkciyu. Pervyj element spiska - eto
imya funkcii a ostal'nye elementy - ee argumenty.
Esli funkciya ne vypolnima to vozvrashchaetsya fatal'naya oshibka.
Argumenty interpretiruyutsya sleduyushchim obrazom.
Esli argument chislo, to ono schitaestya celym. Esli ne chislo to argument
schitaetsya ukazatelem na stroku. Vam neobhodimo obespechit' dostatochnuyu
dlinu argumenta dlya podstanovki znacheniya ukazatelya. V Pel peredaetsya
maksimum 14 parametrov. Obychno etogo dostatochno.


sysread fajl, skalyar, dlina
	Prochitat' iz fajla ukazannoe chislo bajt v skalyar s pomoshch'yu
sistemnogo vyzova read(). Smeshchenie oboznachaet poziciyu v skalyare
posle kotoroj budut vstavleny prochitannye bajty.


	Delaet to zhe samoe chto i "exec spisok" s toj lish' raznicej
chto vyzov fork() delaetsya pervym i roditel'skij process zhdet
zaversheniya potomka. Vozvrashchaet znachenie analogichnoe funkcii wait().
Dlya polucheniya dejstvitel'nogo koda zaversheniya neobhodimo razdelit'
na 256.


syswrite fajl, skalyar, dlina
	Zapisat' v fajl ukzannoe chislo bajt skalyara s pomoshch'yu
sistemnogo vyzova write(). Smeshchenie ukazyvaet poziciyu v skalyare
otkuda nachinaetsya zapis'.


tell
	Vozvrashchaet tekushchuyu poziciyu ukazatelya v otkrytom fajle.
Esli fajl ne ukazan to poslednego chitaemogo fajla.


	Vozvrashchaet tekushchuyu poziciyu ukazatelya v otkrytoj direktorii.
Obychno eto parametr dlya pozicionirovaniya ukazatelya direktorii
funkciej seekdir().


	Prisvaivaet peremennuyu klassu. Spisok - eto argumenty
new metoda klassa (TIESCALAR, TIEARRAY ili TIEHASH).
Vozvrashchaet ukazatel' na sozdannyj novyj ob容kt klassa kotoryj
udoben dlya vyzova drugih metodov klassa.
Vnimanie! Takie funkcii kak keys() i values() mogut vernut'
v kacheste znacheniya ogromnoe kolichestvo dannyh.

Dlya sozdaniya ob容kta associativnogo tipa neobhodimo opredelenie
sleduyushchih metodov:

	TIEHASH classname, LIST
	DESTROY this
	FETCH this, key
	STORE this, key, value
	DELETE this, key
	EXISTS this, key
	FIRSTKEY this
	NEXTKEY this, lastkey

Obychnogo massiva:

	TIEHASH classname, LIST
	DESTROY this
	FETCH this, key
	STORE this, key, value
	[others TBD]

Skalyarnogo tipa:

	TIEHASH classname, LIST
	DESTROY this
	FETCH this, key
	STORE this, key, value


	Vozvrashchaet kolichistvo sekund nachinaya s 1 yanvarya 1970 g
00:00:00 UTC. Gody ne razdelyayutsya na visokosnye.


	Vozvrashchaet 4-h elementnyj massiv znachenij:

	($user, $system, $cuser, $csystem) = times;

gde:

	$user	-  pol'zovatel'skoe vremya processa v sekundah.

	$system	- sistemnoe vremya tekushchego processa.

	$cuser	- vremya processa-potomka tekushchego prcessa.

	$csystem - ego sistemnoe vremya.

tr///
	Oprerator translyator. Podrobno smotri glavu "Operatory".

truncate fajl, dlina
truncate vyrazhenie, dlina
	Usekaet dlinu ukazannogo fajla.


	Vozvrashchaet stroku vyrazheniya v kotoroj malye bukvy zameneny
na zaglavnye.


	Vozvrashchaet stroku vyrazheniya v kotoroj pervaya bukva zamenena
na zaglavnuyu.


umask
	Ustanavlivaet masku umask i vozvrashchaet staroe znachenie.
Bez argumenta vozvrashchaet tekushchee znachenie.


undef
	Delaet neopredelennym znachenie vyrazheniya. Primenyaetsya
tol'ko dlya skalyarnyh peremennyh, celyh massivov ili podprogramm.
Vsegda vozvrashchaet neopredelennoe znachenie.


	Udalyaet fajly ukazannye v spiske. Vozvrashchaet kolichestvo
udalennyh fajlov. Tol'ko supervizor mozhet udalyat' direktorii
s fajlami esli Pel zapushchen s klyuchom -U.


	Funkciya obratnaya pack(). Raspakovyvaet stroku vyrazheniya
po ukazannomu shablonu v massiv znachenij. V skalyarnom kontekste
vozvrashchaet znachenie tol'ko pervogo elementa. SHablony takie zhe
kak i v pack().
Simvol '%' v shablone oznachaet chto vy hotite poluchit' vmesto
znacheniya ego kontrol'nuyu summu. Po umolchaniyu 16 bitovuyu.


	Isklyuchaet peremennuyu iz klassa ukazannogo tie().


	Protivopolozhnoe shift. Pomeshchaet elementy spiska
v nachalo massiva.


use modul'
	Ukazyvaet bibliotechnyj modul' iz kotorogo mozhno
vyzyvat' podprogrammy. Spisok perechislyaet imena podprogramm kotorye
dobavlyayutsya k tekushchej oblast' imen. Esli ne ukazan to vse imena.
Dejstvie analogichno bloku:

	BEGIN { require modul'; import modul' spisok; }

Sam modul' dolzhen raspologat'sya v sistemnoj oblasti Pel fajlov.


	Izmenyaet datu obrashcheniya i modifikacii fajlov iz spiska.
Pervye dva elementa spiska dolzhny ukazyvat' novoe znachenie daty
obrashcheniya i modifikacii.
Vozvrashchaet kolichestvo izmenennyh fajlov.


	Vozvrashchaet obychnyj massiv so vsemi znacheniyami hesha.
V skalyarnom kontekste vozvrashchaet kolichestvo znachenij hesha.


	Vozvrashchaet znacheni stroki kak vektor bez znakovyh celyh.


	Ozhidat' okonchanie porozhdennogo processa. Vozvrashchaet
PID dlya roditel'skogo processa ili -1 esli net processa potomka.
Kod zaversheniya zapisyvaetsya v peremennuyu $?.


	Ozhidat' okonchaniya processa potomka s ukazannym PID.
Vozvrashchaet libo PID etogo processa libo -1 esli net takogo processa.
Kod zaversheniya zapisyvaetsya v permennuyu $?.


	Vozvrashchaet true esli podprogramma vyzyvaetsya v spiskovom
kontekste i false - v skalyarnom.


	Vyodit v standartnyj potok oshibok STDERR soobshchenie
analogichno die(), no ne prekrashchaet rabotu programmy.


write vyrazhenie
write
	Vyvodit v fajl formatirovannye dannye po operatoru
format. Po umolchaniyu imya formata sovpadaet s imenem ukazatelya fajla.
Imya fajla-po umolchaniyu mozhno izmenit' funkciej select(), a imya
formata pri etom nado prisvoit' peremennoj $~.
Zagolovok lista pishetsya avtomaticheski. Esli na liste ne hvataet
mesta dlya vyvoda to vyvoditsya "perevod formata" i special'naya
forma zagolovka lista zatem sami zapisi.
Po umolchaniyu imya formata zagolovka lista sostoit iz imeni ukazatelya
fajla i dobavlennoj stroki "_TOP". Dinamicheski eto mlzhno delat'
prisvaivaya format peremennoj $^. Kolichestvo ostavshihsya strok lista
soderzhitsya v peremennoj $- i esli prisvoit' ej 0 to proizojdet
smena lista. Podrobno opisanie formatov smotri v glave "Formaty".


	Operator translyator. Smotri glavu "Operatory".


Last-modified: Thu, 24 Apr 1997 17:55:47 GMT
Ocenite etot tekst: