Vyhledßnφ a nahrazenφ

[vyraz=~][m]/vzor/[g][i][o]
Ve v²razu (implicitn∞ $_) se hledß vzor. P°i uvedenφ m je mo₧nΘ volit odd∞lovaΦ.
Volby: g - globßln∞, i- caseinsenzitive,
o - provßdφ 1x interpolace prom∞nn²ch.
[$VAR=~]s/vzor/nahrada/[g][i][e][o]
hledß vzor a nahradφ je nahradou, vracφ poΦet proveden²ch substitucφ.
Volby: g - vÜechny v²skyty, e - nßhradu chßpe jako v²raz,
i,o - stejn² v²znam jako u vyhledßnφ.
[$VAR=~]tr/seznam1/seznam2/[c][d][s]
nahradφ vÜechny v²skyty znak∙ v seznamu1 odpovφdajφcφmi znaky v seznamu2. Vracφ poΦet nahrazen²ch znak∙.
Volby:
c - komplementßrnφ volby,
d - zruÜφ vÜechny znaky, kterΘ nejsou v seznamu1
s - stejnΘ po sob∞ jdoucφ znaky ze seznamu1 nahradφ jednφm znakem ze seznamu2

Spoluprßce se systΘmem

alarm(vyraz)Po poΦtu sekund dan²ch v²razem bude vydßn signßl SIGALRM
chdir[(vyraz)]zm∞nφ pracovnφ adresß°, p°i vynechßnφ v²razu zm∞nφ adresß° na $ENV{"HOME"}
chroot(jmenosoub)Zm∞nφ root adresß° pro proces ajeho potomky
die[(seznam)]Tiskne seznam na STDERR a ukonΦφ b∞h s aktußlnφ hodnotou prom∞nnΘ $!
exec(seznam)Spustφ p°φkazy systΘmu uvedenΘ v seznamu a skript ukonΦφ.
exit(vyraz)UkonΦφ skript s hodnotou v²razu.
forkProvede systΘmovΘ volßnφ fork(2)
getloginVracφ aktußlnφ login jmΘno procesu.
getpgrp[(pid)]Vracφ Φφslo skupiny proces∙ procesu s PID.
getppidVracφ ID rodiΦovskΘho procesu.
getpriority(WHICH,WHO)Vracφ aktußlnφ prioritu procesu, skupinu procesu nebo u₧ivatele.
kill(seznam)PoÜle signßl proces∙m v seznamu. Prvnφ prvek v seznamu je signßl (Φφslo nebo jmΘno).
setpgrp(PID,PGRP)Za°adφ proces PID do skupiny proces∙.
setpriority(WHICH,WHO,PRIO)Nastavφ aktußlnφ prioritu procesu, Φφslo skupiny proces∙ nebo u₧ivatele.
sleep[(vyraz)]Uspφ proces na poΦet sekund dan²ch v²razem. Bez parametru vracφ poΦet sekund, po kterΘ je proces uspßn.
syscall(seznam)Volßnφ systΘmov²ch volßnφ, volßnφ je prvnφ prvek seznamu, dalÜφ prvky jsou p°edßvanΘ argumenty.
system(seznam)Spustφ p°φkazy systΘmu uvedenΘ v seznamu tak, ₧e provede fork a rodiΦovsk² proces Φekß na ukonΦenφ potomka.
timesVracφ Φty°prvkovΘ pole ($user, $system, $cuser, $csystem).
umask[(vyraz)]Nastavφ umask pro proces a vracφ star². Bez parametru vracφ aktußlnφ umask.
wait╚ekß na ukonΦenφ potomka a vracφ pid ukonΦenΘho procesu.
warn(seznam)Tiskne zprßvu na STDERR jako die, ale neukonΦuje script.

R∙znΘ

caller[(vyraz)]vracφ pole ($package,$file,$line,...) pro danΘ volßnφ procedury
caller vracφ informace pro aktußlnφ proceduru
caller(1) pro tu, ze kterΘ byla procedura volanß, atd.
local(seznam)vytvo°φ lokßlnφ pole pro blok, proceduru nebo eval, kterΘ obsahuje hodnoty prom∞nn²ch v seznamu.
require(vyraz)zaΦlenφ do scriptu uveden² soubor z knihovny.
scalar(vyraz)Vyhodnotφ v²ray ve skalßrnφm kontextu.
sub jmeno {vyraz;..}definuje proceduru, parametry jsou p°edßvßny v poli @_
wantarrayVracφ true, pokud aktußlnφ kontext oΦekßvß pole

Formßt

format [JMENO] =
definice
.

definice popisuje vzhled °ßdek a obsahuje prom∞nnΘ, jejich₧ hodnoty doplnφ do polφ °ßdk∙.
Typy polφ jsou:
@<<<... vlevo zarovnanΘ pole
@>>>... vpravo zarovnanΘ pole
@||| centrovanΘ pole
@#.## numerik² formßt s desetinou teΦkou
@* vφce°ßdkovΘ pole
DΘlka pole je poΦet znak∙ vΦetn∞ znaku @. Pro vφce°ßdkov² blok pou₧ijte znak ^ mφsto znaku @.
Znak ~ pou₧ijte, pokud nechcete tisknou °ßdku, kterΘ je prßzdnß.
Znaky ~~ pou₧ijte na zaΦßtku °ßdky, chcete-li °ßdek opakovat pro vÜechny pole.
Nastavenφm prom∞nnΘ $- na nulu si vynutφte konec strßnky.
ProhlΘdn∞te si i specißlnφ prom∞nnΘ $^,$~,$- a $=

Regulßrnφ v²razy

Specißlnφ znaky:
. libovoln² znak, krom∞ znaku nov² °ßdek.
+ alespo≥ jeden v²skyt p°edchozφho znaku.
? ₧ßdn² nebo jeden v²skyt p°edchozφho znaku.
* ₧ßdn² nebo vφce v²skyt∙ p°edchozφho znaku.
[...] skupina znak∙, vyhovat musφ prßv∞ jeden.
[^...] vÜechny znaky krom∞ uveden²ch v zßvorkßch.
{N,M} minimßln∞ N krßt a maximßln∞ M krßt opakovßnφ znak∙.
(...) skupina znak∙ pozd∞ji pou₧itelnß jako jeden prvek (prom∞nnß nebo \1 - \9).
(..|..|..) jedna z alternativ.
\d tj. [0-9] \D tj. [^0-9]
\w tj. [a-zA-Z0-9_] \W tj. [^a-zA-Z0-9_]
\s tj. [ \r\t\n\f] (mezera,CR,tabelßtor,LF,) \S tj. [^ \r\t\n\f]
\1 - \9°et∞zec d°φve nalezen² uzav°en² v ().
\b hranice slova \B nenφ hranice slova
^ zaΦßtek °et∞zce
$ konec °et∞zce
\n,\r,\f,\t majφ sv∙j obvykl² v²znam

PEGASNETPEGASNET

PEGASNETPEGASNET

PEGASNETPEGASNET

PEGASNETPEGASNET