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,dir | Otevř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,pos | Nastaví 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. |
|