Prom�nn� typu pole je seznam skal�rn�ch prom�nn�ch (��sel, �et�zc�).
Jm�no prom�nn� typu pole m� stejn� form�t jako skal�rn� prom�nn�, jako prefix m� v�ak znak
@
. P��kazy
@ovoce = ("jablka", "hrusky", "svestky"); @barvy = ("cervena", "modra");p�i�azuj� seznam t�� prvk� do prom�nn� pole @ovoce a seznam dvou prvk� do prom�nn� @barvy.
Prvky pole jsou p��stupn� pomoc� indexu (za��naj�c�ho od 0) uzav�en�ho v hranat�ch z�vork�ch. V�raz
$ovoce[2]vrac� hodnotu svestky. V�imn�te si, �e znak @ se zm�nil na znak $, proto�e ovoce[2] tj. prvek pole je skal�rn� prom�nn�.
Nejpve si uka�me p�i�azen� v kontextu pole.
Prvn� p�i�azen� nahrad� prom�nnou @barvy jej�m obsahem, tedy oba p��kazy maj� stejn� v�sledek.
@vicebarev = ("bila", @barvy, "cerna"); @vicebarev = ("bila", "cervena", "modra", "cerna");Vhodn� zp�sob p�id�n� prvku do pole je pou�it� funkce push:
push(@ovoce, "tresne");kter� p�id� �et�zec tresne na konec pole @ovoce. K p�id�n� dvou nebo v�ce prvk� do pole pou�ijte nap�.
push(@ovoce, "tresne", "broskve"); push(@ovoce, ("tresne", "broskve")); push(@ovoce, @dalsiovoce);Funkce push vrac� posledn� prvek nov�ho seznamu. Tedy:
@ovoce = ("jablka", "hrusky", "svestky"); @dalsiovoce = ("jahody","maliny"); $pocet = push(@ovoce, @dalsiovoce); print "Posledni prvek noveho seznamu je $pocet\n"; # tiskne maliny
Funkce pop odstran� posledn� polo�ku pole a vrac� hodnotu posledn� polo�ky pole.
Z na�eho p�vodn�ho seznamu
@ovoce = ("jablka", "hrusky", "svestky");
funkce
pop vr�t�
svestky a pole @ovoce m� nyn� dva prvky:
$noveovoce = pop(@ovoce); # nyn� $noveovoce = "svestky"
P�i�azen� v kontextu skal�rn� prom�nn�.
��dek
$f = @ovoce;p�i�ad� prom�nn� $f hodnotu ur�uj�c� d�lku pole @ovoce tj. hodnotu 3, ale
$f = "@ovoce";p�i�ad� prom�nn� $f �et�zec obsahuj�c� prvky seznamu odd�len� mezerami tj �et�zec jablka hrusky svestky.
P�i p�i�azov�n� je mo�n� pou��t pole spolu se skal�rn�mi prom�nn�mi:
($a, $b) = ($c, $d); # TJ. $a=$c; $b=$d; ($a, $b) = @ovoce; # $a a $b jsou prvn� dva prvky pole # @ovoce. ($a, @jineovoce) = @ovoce; # $a je prvn� prvek pole @ovoce # @jineovoce je seznam dal��ch prvk� # (@jineovoce, $a) = @ovoce; # @jineovoce je @ovoce a # $a je nedefinovan�.Posledn� p��pad nastane, nebo� do pole @jineovoce je mo�n� vlo�it mnoho prvk�. Proto je l�pe takov�to p�i�azen� nepou��vat.
Kone�n� m��eme cht�t z�skat index posledn�ho prvku pole . Pro pole @ovoce pou�ijeme v�raz
$#ovoce
print @ovoce; # vlastn� pole print "@ovoce"; # Uzav�eno v uvozovk�ch print @ovoce.""; # Ve skal�rn�m kontextu
P��klad 2a:
Napl�te pole jmena hodnotami: Jan, Josef, Lada, Michal, Renata.
Napl�te pole vek hodnotami: 16, 10, 12, 15, 17.
Vypi�te postupn� v�ty: Vek osoby ... je ... let, pro ka�dou dvojici.
Spo��tejte a vypi�te pr�m�rn� v�k osob.
Vypi�te posledn� prvek pole pomoc� indexu $#jmena.
Spus�te script s argumentem, kter� ur�uje po�adov� ��slo pole. Odpov�daj�c� pole vytiskn�te. Jedno z mo�n�ch �e�en�.