Operátory
= - * / % |
sčítání, odčítání, násobení, dělení, modulo dělení |
** |
umocňování |
. |
spojení řetězců |
x |
vrací řetězec tvořený x opakovaným použitím levého operandu. Počet opakování uvádí pravý operand |
++ -- |
auto-zvětšení/zmenšení |
? : |
if-then-else |
|| && |
logické or/and |
== != |
numerická rovnost/nerovnost |
eq ne |
rovnost/nerovnost řetězců |
< > |
numericky menší/větší |
lt gt |
rětězcově menší/větší |
<= => |
numericky menší/větší nebo rovno |
le ge |
řetězcově menší/větší nebo rovno |
<=> cmp |
numerické/řetězcové porovnání, vrací -1,0,1 |
=~ !~ |
vyhledání, substituce nebo nahrazení |
|
Podmínky
vyraz1 if vyraz2 |
provede výraz1 pokud platí výraz2 |
vyraz1 until vyraz2 |
provede výraz1 dokud neplatí výraz2 |
vyraz1 || vyraz2 |
provede výraz2 pokud neplatí výraz1 |
vyraz1 ? vyraz2 : vyraz3 |
pokud platí výraz1 provede výraz2 jinak výraz3 |
Na místo jednoho příkazu je možné uvést blok příkazů uzavřený v {} |
if (vyr) blok [[elsif (vyr) blok ...] else blok] |
unless (vyr) blok [else blok] |
while (vyr) blok [continue blok] |
until (vyr) blok [continue blok] |
for (vyr;vyr;vyr) blok |
foreach prom (pole) blok |
blok [continue blok] |
Speciální tvar je:
do blok while vyr blok příkazů se provede
do blok until vyr porpvé bez testování výrazu
|
Příkazy řízení
do BLOK | vrací hodnotu posledního výrazu v bloku. Příkaz next,last a redo zde není možné použít. |
do PROCEDURA(seznam) | spustí proceduru a vrací hodnotu posledního výrazu v proceduře. Preferovaná forma volání procedury je &PROCEDURA. |
do JMENOSOUBORU | spustí obsah souboru jako perlový skript. Chyby jsou vráceny v proměnné $@. |
goto NAVESTI | běh programu pokračuje na uvedeném návěští. |
last [NAVESTI] | ukončí cyklus, běh pokračuje za koncem cyklu dalším blokem příkazů. |
next [NAVESTI] | vynechá konec iterace a zahájí další iteraci cyklu. |
redo [NAVESTI] | znovu provede blok příkazů bez vyhodnocování podmínky. |
return výraz | vrací hodnotu výrazu z procedury. |
|
Operátory pro soubory
Unární operátory, které mají jako argument jméno souboru nebo filehandle a testují vlastnosti souboru. Pokud je argument vynechán testují $_.
-r -w -x -o | Soubor je pro efektivní uic přístupný pro čtení/zápis/spuštění |
-R -W -X -O | Soubor je pro reálné uic přístupný pro čtení/zápis/spuštění |
-e -z -s | Soubor existuje/má nulovou velikost/nemá nulovou velikost |
-f -d | Soubor je plain soubor/adresář |
-l -S -p | Soubor je symbolická linka/soket/jméno pipe (FIFO) |
-b -c | Soubor je speciální soubor blokový/znakový |
-u -g -k | Soubor má nastavený setuid/setgid/sticky bit |
-t | Zda filehandle ukazuje na terminál |
-T -B | Soubor je textový/ne-textový.Vrací hodnotu True pro prázdný soubor. |
-M -A -C | Soubor změnil datum vzniku/přístupu/inode. Čas se počítá od spuštění scriptu. |
|
Aritmetické funkce
atan2(Y,X) | vrací arctangent z Y/X |
cos(výraz) | vrací cosinus |
exp(výraz) | vrací e umocněno na výraz |
int(výraz) | vrací celou část výrazu |
log(výraz) | vrací přirozený logaritmus výrazu |
sin(výraz) | vrací sinus výrazu |
sqrt(výraz) | vrací druhou odmocninu výrazu |
time | vrací počet sekund od 1. ledna 1970. |
|
Funkce pro řetězce
chop(seznam) | odřízne poslední znak všech prvků pole, poslední odříznutý znak vrací. Pokud je seznam jedna proměnná, je možné vynechat závorky. |
crypt(plaintext,salt) | kóduje řetězec |
eval(výraz) | výraz je zpracován jako by se jednalo o perlovský program. Vracená hodnota je hodnota posledního vyhodnoceného výrazu. Pokud se vyskytne syntaktická chyba nebo chyba při běhu, vrací funkce nedefinovaný řetězec a proměnná $@ je naplněna chybou. |
eval{výraz;...} | spustí příkazy uvnitř složených závorek. Chyby ošetřuje jako předchozí funkce. |
index(řetěz,podřetěz[,offset]) | vrací pozici výskytu podřetězce v řetězci od offsetu. Pokud se podřetězec nenajde, vrací $[-1. |
length(výraz) | vrací délku hodnoty výrazu v počtu znaků. |
rindex(řetěz,podřetěz[,offset]) | vrací pozici posledního výskytu podřetězce v řetězci do offsetu. |
substr(výraz,ofset[,délka]) | vrací podřetězec zvýrazu. Pokud je offset záporné číslo, počítá se od konce řetězce. |
Každý znak může být následován dekadickým číslem, které udává počet opakování, * označuje všechny zbylé argumenty.
Pokud formát začíná %N, unpack vrací N-bitový kontrolní součet.
V šabloně je možné použít mezery pro lepší čitelnost.
|
|