Varijable i njihovi operatori
Uvod
U ovom dijelu biti će predstavljena tri tipa varijabli koji postoje u Perlu. To su: skalari (eng. scalars), polja (eng. arrays) i združena polja (eng. associative arrays). Imena varijabli sastavljena su od početnog znaka koji definira tip varijable i imena varijable.
Za razliku od ostalih jezika, Perl ne zahtijeva prethodne deklaracije varijabli, već se one automatski definiraju prilikom postavljanja vrijednosti varijable.
Također, ovdje će ukratko biti spomenuti neki od najčešće korištenih operatora. Njihova namjena je promjena vrijednosti varijabli. Operatori se dijele s obzirom na tip verijable. Više o samim operatorima može se doznati iz perlop man stranica.
Skalari
Skalarne varijable služe za pohranu brojeva ili niza znakova, te se označavaju kao: $ime_varijable
Pridjeljivanje vrijednosti skalarima dano je u slijedećih nekoliko primjera: $broj = 4;
$dec_broj = 4.5;
$float_broj = 3.14e10;
$pozdrav = "Pozdrav iz Zagreba!";
$vrijeme = 'vedro i hladno';
Svi brojevi u Perlu interno se pohranjuju double deklaracijom u C-u. Tek se s verzijom 5 uvela mogućnost interne pohrane brojeva kao cjelobrojnih (intdeklaracija u C-u) s ciljem optimizacije programa.
Najčešći operatori nad brojevima su:
+ plus
- minus
* množenje
/ dijeljenje
** eksponent
% modulo
== jednako
!= različito
< manji od
> veći od
<= manji od ili jednako
>= veći od ili jednako
+= # $i=$i+$a je isto kao $i+=$a
-= # $i=$i-$a je isto kao $i-=$a
*= # $i=$i*$a je isto kao $i*=$a
Znakovni nizovi mogu biti definirani unutar dvostrukih i jednostrukih navodnika. Dvostruki navodnici označavaju da se unutar znakovnog niza prepoznaju nazivi varijabli, te da vrijednost toga niza ovisi o vrijednosti te varijable. Npr.: $ime = "Ognjen"
$obrazac = "$ime pohađa FER."
# $obrazac postaje "Ognjen pohađa FER."
Jednostruki navodnici označavaju da znakovni niz ima fiksnu vrijednost.
Najznačajniji operator znakovnih nizova je chop($ime_varijable) koji briže zadnji znak niza.
Polja
Polja služe za pohranu niza skalara, te se označavaju kao: @ime_polja
Primjeri pridjeljivanja vrijednosti poljima dano je kroz nekoliko primjera: @trio = ("ognjen", "drazen", "marin", "4401");
@trio_gusti = @trio;
Pristup određenom elementu polja izvodi se na slijedeći način: $trio[3] = "1044";
Gornjim primjerom promijenjen je zadnji element polja "4401" u "1044". Treba primjetiti da indeksiranje elemenata polja počinje od 0.
Najčešći operatori polja su dani kroz slijedeće primjere:
push (@trio, "ivan");
# na kraj polja @trio dodaje se "ivan"
$ime = pop (@trio);
# "ivan" s kraja polja sprema se u $ime
unshift (@trio, "ivan");
# "ivan" se dodaje na početak polja
$ime = shift (@trio);
# uzima se prvi element polja
@trio = reverse (@trio);
# obrće se redoslijed elemenata
@aList = sort (@aList);
# abecedno sortiranje elemenata
chop (@aList);
# svakom elementu polja briše se zadnji znak
@linija = ;
# jedna linija sa standardnog ulaza pohranjuje se u @linija
Združena polja
Združena polja zapravo predstavljaju dvodimenzionalno polje skalara. Pojedini element (skalar) takvog polja nije indeksiran cijelim brojem već proizvoljnim skalarom koji se naziva ključ (eng. key). Svaki element polja ima svoj jedinstveni ključ prema kojem se razlikuje od ostalih elemenata. Združena polja se označavaju kao: %ime_zdruzenog_polja
Primjeri pridjeljivanja vrijednosti poljima dano je kroz nekoliko primjera: $a{"marko"} = 23;
$kljuc = ivan;
$a{$kljuc} = 25;
%b = %a;
Neki primjeri operatora za združena polja su slijedeći:
@kljucevi = keys(%a);
# vraća polje s vrijednostima ključeva
@elementi = values (%a);
# vraća polje vrijednosti elemenata
delete $a{"marko"};
# briše element s ključem "marko"
|