Perl guide


Variabelhantering

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($).

$namn = "Pelle Andersson";

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.

print "Mitt namn är: $namn";

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).

@bilar = ("Ford","Subaru","Mazda","Saab");

Värdena indexeras från nummer 0 och uppåt. Värdet på den fjärde positionen har alltså indexnummer 3.

print "Jag har en $bilar[2].";

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).

%bilar = ("Pelle", "Ford", "Nina", "Subaru", "Linda", "Mazda", "Erik", "Saab");
print "Nina har en $bilar{'Nina'}."


Modifiera variabler

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.

$age = 23;
$age = "Jag är $age år gammal.";

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.";

Tillbaks till innehållsförteckningen


© Johan Johansson -1999 Jojoxx.net