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. |
fork | Provede systΘmovΘ volßnφ fork(2) |
getlogin | Vracφ aktußlnφ login jmΘno procesu. |
getpgrp[(pid)] | Vracφ Φφslo skupiny proces∙ procesu s PID. |
getppid | Vracφ 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. |
times | Vracφ Φ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 @_ |
wantarray | Vracφ 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 |
|