Zmienna to nic innego jak wygodny schowek mający swoją nazwę, który pozwala nam przechować jakąś ważną dla nas wiadomość i w razie potrzeby udostępniają. Można je dzielić według różnych kryteriów ale najbardziej przydatnym jest podział ze względu na rodzaj przechowywanych danych. Najogólniej zmienne dzielą się na napisy i liczby oraz listy, które są z nich złożone. Pierwsza grupa nazywa się skalarem a druga mnogością - tablicą.
W Perlu zmienna zawsze rozpoczyna się od znaczka dolara "$". Nie musimy zawczasu definiować rodzaju zmiennej jakiej chcemy użyć. Istnieje jednak różnica w definiowaniu pojedynczej zmiennej a tablicy: pierwszą zmienną używamy podając przy jej deklaracji na samym początku znak "$" -oznacza to zmienną typu skalarnego, tablicę natomiast definiujemy podając zamiast znaczka dolara "małpę" @. Łatwo skojarzyć oba sposoby zapamiętując Skalar i @rray (tablica z angielskiego). Wykorzystując zmienne można nieco wydłużyć napisany wcześniej program.
#!/usr/bin/perl
$tekst = "Witaj szkoło!"; #deklaracja zmiennej skalarnej tekst print $tekst; #wypisanie zmiennej
W Perlu wyzróżniamy pięć typów zmiennych:
Typ zmiennej |
Znak |
Deklaracja |
Opis |
Skalar |
$ |
$zdanie |
Pojedyncza wartość - liczba lub napis |
Tablica |
0 |
0dom |
Lista wartości opisana kolejnymi liczbami |
Hasz |
% |
%rok |
Grupa pewnych wartości - kluczem jest napis |
Typeglob |
* |
*zmienna |
"Coś" o nazwie zmienna |
Procedura |
& |
&kod |
Część kodu, który można wywołać |
W Perlu podobnie jak w wielu innych językach przypisanie zmiennych odbywa się za pomocą operatora "=". Oprócz przypisania standartowych wartości zmiennej skalarnej takich jak liczba czy ciąg wyrazów można również przypisać jej odwołanie do innej zmiennej bądź obiektu. O rodzaju do jakiego zostaje zakwalifikowana zmienna decydują cudzysłowy: podwójny "" - dokonuje interpolacji zmiennych a także odwrotnego ukośnika (np. \n w znak nowego wiersza), pojedynczy '' - wyłącza zupełnie interpolację, pojedyncze odwrotne apostrofy 1' - powodują wykonanie oddzielnego zewnętrznego programu i zwrócenie jego danych wyjściowych w ten sposób by można było je odczytać jako jeden napis, zawierający wszystkie wiersze wyjścia.
łtliczba zwykła
łłliczba zapisana "naukowo"
#zwykły napis
ftnapis z interpolacja
#napis bez interpolacji
łtodwołanie do innej zmiennej
#wywołanie zewnętrznego
$liczba = 50;
$wartosc = 2.2e23;
$samochod = "Volvo";
$zdanie = "Najlepszy $samochod"; $koszt = 'Cena wynosi $500'; $zmiennal = $zmienna2;
$koniec = 'pwd'; programu - koniec programu
4-