
Variabler är små datablock som kan innehålla olika information. Detta kan vara information som du vill
komma åt på olika ställen i scriptet. Det kan vara information hämtat från ett formulär som användaren
fyllt i, eller en produkt av en beräkning. Variabelhanteringen är en av Perl-språkets kraftfullaste
funktioner. Det finns flera olika sorters variabler i Perl. Den vanligaste är den som kallas scalar.
Denna variabel kan bara innehålla en (1) datamängd och symboliseras med ett dollar-tecken($).
Detta ger variabeln namn värdet Pelle Andersson. Vill vi använda den för att exempelvis
skriva något kan man göra så här.
En annan typ av variabel är den diminsionerade, eller Array som den även kallas. Denna variabel
kan innehålla flera värden som man skiljer på med ett index. Den definieras så här. (Symboliseras med
ett @-tecken).
Värdena indexeras från nummer 0 och uppåt. Värdet på den fjärde positionen har alltså indexnummer 3.
Skriver alltså "Jag har en Mazda.".
Det finns en annan variant av arrays som kallas hashes, eller associerade arrays. Med hjälp av denna
variabel kan man spara flera värden, men istället för att använda ett indexnummer för att skilja dem
åt använder man en nyckel. För att göra en förteckning på vem så har vilken bil kan man göra så här.
(Symboliseras med ett procent-tecken).
Innehållet i variabler i Perl kan ändras hur som hellst. Har du en integer (heltal) kan göras om till
en textvaribel utan problem. Samma gäller gör tal med decimaler.
Följaden exempel visar hur du kan ändra variabler som innehåller numeriska värden.
$tal = 1; $tal = $tal + 5; # adderar 5 till variabeln tal. $tal++; # adderar 1 till variablen tal. $tal = $tal * 3; # multiplicera med 3. $tal--; # dra ifrån 1. print "Talet är : $tal";
Har du en array med värden kan du sortera dem på olika vis. Vi skriver in några bilmärken som vi sedan
vill sortera i bokstavsordning. Detta gör vi med kommandot sort.
@bilar = ("Ford","Subaru","Mazda","Saab");
@bilar = sort(@bilar);
För att sortera en array i bakvänd ordning kan du på samma sätt använda kommandot reverse(@bilar).
Vill du lägga till saker i en array är inte det heller några problem. Då använder du kommanot
push. Detta kommando kan du även använda för att addera flera arrayer med varandra.
@bilar = ("Ford","Subaru","Mazda","Saab");
@flerbilar = ("Volvo","Porche","Opel");
push(@bilar,@flerbilar);
Arrayen bilar kommer nu att innehålla alla 7 bilmärkena. Har du lagt ihop ett antal arrayer och
variabler kan det vara önskvärt att ta reda på hur många värden en array innhåller. Då kan du göra
så här. Först tar du reda på det högsta indextalet i arrayen, sedan får du lägga till ett (0 till 6
= 7 stycken).
$antalbilar = $#bilar + 1; print "I min array finns det $antalbilar bilmärken.";