Funkce pro pole a seznam

delete $POLE{klic} Zruší hodnotu v asociativním poli, vrací rušenou hodnotu.
each(%POLE) vrací dvou prvkové pole klíč/hodnota pro další hodnotu asociativního pole.
grep(vyraz,seznam) vyhodnotí výraz pro každý prvek seznamu, nastavuje proměnnou $_ pro prvek. Modifikací proměnné $_ modifikujete odpovídající prvek seznamu. Vrací prvky seznamu, pro které je hodnota výrazu true.
join(vyraz,seznam) spojí prvky seznamu do řetězce oddělené výrazem, vrací spojený řetězec.
keys(%POLE) vrací pole klíčů asociativního pole.
pop(@POLE) vrací poslední prvek pole a pole zkrátí o 1 prvek.
push(@POLE seznam) přídá prvky seznamu do pole, délka pole se zvětší o délku seznamu.
reverse(seznam) v kontextu pole vrací seznam v obráceném pořadí, ve skalárním kontextu vrací první prvek pole s obráceným pořadím bytů.
scalar(@POLE) vrací počet prvků pole.
scalar(%POLE) vrací hodnotu true, pokud má asociativní pole nějaký prvek.
shift[(@POLE)] vrací první prvek pole, pole se zkrátí zleva o 1. Pokud chybí argument @POLE, pracuje s polem @ARGV a v proceduře s polem @_.
sort([procedura] seznam) třídí seznam, vrací setříděný seznam. Pokud je uvedena procedura, musí tato procedura vracet hodnoty <0, 0, >0, porovnávané hodnoty má uloženy v proměnných $a a $b.
splice(@POLE,OFFSET
[,DELKA[,SEZNAM]])
odstraní prvky pole @POLE definované offsetem a délkou a nahradí je seznamem, vrací odstraněné prvky.
split(oddelovac[,vyraz
[,limit]])
rozděluje řetězec do pole podle oddělovače. Je-li uvedený limit, rozdělí řetězec maximálně do počtu polí daných limitem. Pokud je vynechán oddělovač, rozděluje podle mezer. Ve skalárním kontextu vrací počet polí.
unshift(@POLE,seznam) přidá seznam zleva do pole @POLE a vrací počet prvků prodlouženého pole.
values(%POLE) vrací pole hodnot asociativního pole.

Konverze struktury

pack(šablona,seznam) převede hodnotu na binární tvar použitím šablony.
unpack(šablona,výraz) převede strukturu výrazu do pole použitím šablony.
Šablona je sekvence následujících znaků:
a/A ascci řetězec, doplněný nulou/mezerou
b/B řetězec bitů ve vzestupném/sestupném pořadí
c/C znaková hodnota se znaménkem/bez znaménka
f/d hodnota s jednoduchou přesností/s dvojnásobnou přesností
h/H hexadecimální řetězec yačínající nejniž./nejvyš. bitem
i/I integer se znaménkem/bez znaménka
l/L dlouhá hodnota se znaménkem/bez znaménka
n/N krátká/dlouhá hodnota v síťovém pořadí bitů
s/S Krátká hodnota se znaménkem/bez znaménka
u/p uuencoded řetězec/ ukazatel na řetězec
x/@ nulový byte/ nulami vyplnění do pozice
X Backup bytu

Konverzní funkce

gmtime(výraz) konvertuje čas ve tvaru time a vrací 9-prvkové pole ($sec, $min, $hod, $den, $mes, $rok, $tden, $rden, $isdst) podle Greenwičského času. Měsíce je od 0-11, dny v týdnu od 0-6.
hex(výraz) vrací dekadickou hodnotu výrazu chápaného hexadecimálně.
localtime(výraz) konvertuje čas do 9-prvkového pole podle lokálního časového pásma.
oct(výraz) vrací dekadickou hodnotu výrazu chápaného oktalově.
ord(výraz) vrací ascii hodnotu prvního znaku ve výrazu.
vec(výraz,offset,bit) výraz chápe řetězec celočíselných hodnot bez znaménka a vrací hodnotu specifikovaného prvku jako vektor. offset je počátek, bit je počet bitů prvku (1,2,4,8,16,32)

Operace se soubory

Funkce pracují se seznamem souborů a vrací počet souborů, na kterých byla operace úspěšně provedena.
chmod(seznam) Změní přístup k souboru. První prvek seznamu
musí být přístupový mód v číselném vyjádření.
chown(seznam) Změní vlastníka a skupinu souborů v seznamu.
První dva prvky seznamu musí být čísla určující uid a gid.
truncate(soubor,velikost) Zkrátí soubor na velikost. Soubor je možné
definovat pomocí jména nebo filehandlu.
link(stary,novy) Vytvoří nové jméno souboru, které je
linkou na staré jméno souboru.
mkdir(adr,mod) Vytvoří adresář s daným přístupem.
readlink(vyraz) Vrací hodnotu symbolické linky.
rename(stare,nove) Změní jméno souboru.
rmdir(soubor) Zruší adresář pokud je prázdný.
stat(soubor) Vrací 13-prvkové pole($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,
$size,$atime,$mtime,$ctime,$blksize,$block).
symlink(stary,novy) Vytvoří nové jméno souboru, které je
linkou na staré jméno souboru.
unlink(seznam) Ruší soubory v seznamu.
utime(seznam) Zmení datum přístupu a modifikace.
První dva prvky pole musí být čísla určující dobu přístupu a modifikace.

Příkazy pro čtení adresáře

closedir(dirhandle)Uzavře adresář.
opendir(dirhandle,dirOtevře adresář s přiřazením dirhandlu.
readdir(dirhandle)Vrací další položku adresáře.
rewinddir(dirhandle)Nastaví se na začátek adresáře.
seekdir(dirhandle,posNastaví na pozici v adresáři.
telldir(dirhandle)Vrací pozici v adresáři.

Input/Output

binmode(FILEHANDLE) Zajistí čtení souboru v binárním módu.
close(FILEHANDLE) Uzavře soubor nebo pipe spojenou s filehandlem.
dbmclose(%POLE) Ukončí spojení mezi polem a dbm souborem.
bdmopen(%POLE,
DBMJMENO
,MOD)
Vytvoří vazbu mezi asociativním polem a dbm souborem. Pokud databáze neexistuje, bude vytvořena s daným přístupovým módem.
eof(FILEHANDLE) Vrací 1, pokud další čtení vrací EOF souboru nebo soubor není otevřen.
fileno(FILEHANDLE) Vrací file descriptor pro daný otevřený soubor.
open(FILEHANDLE[JMENO]) Otevře soubor spojený s filehandlem.
místo JMENO uveďte:
"SOUBOR"otevře soubor jako vstupní
">SOUBOR"pro výstup, soubor se vytvoří, pokud neexistuje
">>SOUBOR"pro rozšíření
"+>SOUBOR"pro vstup i výstup
"|CMD"pipe do příkazu
"CMD|"pipe z příkazu
Open vrací 1 (úspěch) nebo hodnotu undef, kromě pipe.
pipe(READHANDLE,
WRITEHANDLE)
Vrací dvojici propojených pipe.
print[([FILEHANDLE]
SEZNAM)]
Tiskne řetězec nebo seznam řetězců oddělený čarkami. Při vynechání filehandlu tiskne na standardní výstup (nebo naposled vybraný).
printf[([FILEHANDLE]
SEZNAM)]
totožné s
print FILEHADLE sprintf(seznam)
read(FILEHANDLE,
$VAR,LENGTH[,OFFSET])
Čte počet LENGTH bytů ze souboru do proměnné na offset. Vrací počet přečtených bytů.
seek(FILEHANDLE,
POSITION,WHENCE)
nastaví na poyici v souboru. Vrací 1 při úspěchu, jinak 0.
select[(FILEHANDLE)] Vrací vybraný filehandle. S parametrem filehandle nastavuje implicitní filehandle pro výstupní operace.
sprintf(FORMAT,SEZNAM) Vrací řetězec formátovaný podle prinf konvencí.
sysread(FILEHANDLE,
$VAR,LEHGTH[,OFFSET])
Přečte počet LENGTH bytů do proměnné VAR na pozice OFFSET.
syswrite(FILEHANDLE,
$VAR,LEHGTH[,OFFSET])
Zapíše počet LENGTH bytů z proměnné VAR od pozice OFFSET.
tell([FILEHANDLE]) Vrací aktuální pozici v souboru s filehandlem nebo v naposled čteném souboru.
write([FILEHANDLE]) Zapíše do souboru větu formátovanou podle definovaného formátu.