Składnia języka PERL


Wstęp do składni perla

    Na tej stronie znajdziesz informacje wystarczające do napisania prostego programu. Dowiesz się jaka jest prawidłowa składnia języka Perl, jak wstawić komentarze i jak prowadzić operacje na zmiennych. Poznasz także większość operatorów, ich priorytety w wyrażeniach logicznych (o których szerzej mowa w dziale testy i pętle) oraz nauczysz się jak pisać własne procedury i funkcje.


Komentarze w programie

    Kiedy piszesz program, jest on zawsze dla ciebie prosty i zrozumiały. Lecz po jakimś czasie zapomina się co i daczego dany fragment kodu robi - program staje się wtedy nieczytelny. Jeśli musisz wprowadzić w nim jakieś zmiany może to być bardzo uciążliwe. Dlatego zaleca się strosowanie komentarzy - tekstu ignorowanego przez kompilator. W Perlu należy je umieszczać za znakiem # (kombinacja klawiszy Shift + 3). Jaka jest najlepsza reguła ich stosowania? Pozwólmy źródłu programu powiedzieć jak to robimy, a komentarzom dlaczego to robimy, np:

# dobry komentarz - mówi dlaczego wykonujemy działanie:
$V = $s / $t; # obliczamy prędkość pojazdu

# zły przykład - komentarz mówi jak obliczamy prędkość:
$V = $s / $t; # dzielimy drogę $s przez czas $t




Polecenia (wykorzytanie literałów)

    Podstawą każdego języka programownia są literały - należą do nich cyfry lub ciągi znaków, np:

23
-2789
3.1482
5.29e-6
'Hello World' # jeśli literały zawierają inne znaki niż cyfry
# musimy je zamknąć wewnątrz cudzysłowów

    Literały możemy przetworzyć na polecenia, dodając na końcu znak ; (średnik). Polecenia tym różnią się od literałów, że zwracają wartości. Poniżej przedstawione polecenie zwraca ciąg znaków hello World do systemu.

Hello World; # trzeba pamiętać o średniku!




Operatory i operacje na zmiennych

    Polecenia stają się pożyteczne dopiero przy wykorzystaniu zmiennych i operatrów. Zmienną nazywamy coś, co ma wartość którą można zmieniać. W Perlu wszystkie zmienne są zmiennymi skalarnymi, co oznacza że można do nich tak samo wprowadzać liczby czy ciągi znaków (zmienne skalarne zachowują się bardzo podobnie jak zmienne w Visual Basic'u zadeklarowane Dim zmienna as Variant). Każda zmienna zaczyna się od znaku $ (Shift + 4). Nazwy zmiennych mogą składać się tylko z liter i cyfr oraz ze znaku _. Należy zwrócić uwagę na to, że Perl tak jak większość języków programowania rozróżnia małe i duże litery.

$zmienna = "Hello World"; # w tym momencie program tworzy zmienną
# i przypisuje do niej ciąg znaków

$zmienna = 12; # do tej samej zmiennej przypisujemy liczbę

    Operator jest symbolem nakazującym kompilatorowi wykonać jakąś operację, na przykład w powyższym przykładzie operator = przypisuje zmiennej $zmienna wartość polecenia "Hello World"; Obie strony przypisania są nazywane operandami. Operator = oczekuje od operand pewnych właściwości: od prawej, że ma wartość, od lewej, że można jej przypisać wartość. W momencie przypisania całe wyrażenie przyjmuje wartość równą wartości przypisanej do lewego operandu. Dlatego możemy napisać tak:

$a = ($b = "Hello World"); # pobieranie wartości wyrażenia z nawiasu
# Wynik: zmienna $a jest teraz równa
# zmiennej $b, która ma wartość "Hello World"

Powyższe wyrażenie jest równoważne temu:

$b = "Hello World"; # najpierw $b otrzymuje wartość "Hello World"
$a = $b; # potem $a otrzymuje wartość $b

Kolejność wykonywania działań zależy od nawiasów np.

$a = 3;
$b = 5;
$c = 7;
($a = $b) = $c; # Wynik: $a = 7, $b = 3, $c = 7

    Jak już wspomniałem Perl posługuje się zmiennymi skalarnymi, czyli nie zwraca uwagi na różnice między liczbami całkowitymi, zmiennoprzecikowymi i ciągami znaków (inaczej niż w innych językach takich jak C czy Turbo Pascal). W razie potrzeby potrafi on przeprowadzić automatyczną konwersję typów np:

$a = "35"; # $a zawiera ciąg znaków, który przedstawia liczbę
$b = 56; # $b zawiera liczbę
$c = $a + $b; # Wynik: $c = 91, zmienna $a została zmieniona na liczbę,
# potem zsumowana z $b, wynik został zapisany w $c

Jeżeli ze zmiennej zawierającej ciąg znaków Perlowi nie uda się uzyskać liczby, otrzymuje ona wartość 0.

$a = "12"; # $a zawiera liczbę
$b = "text"; # $b zawiera ciąg znaków, który nie jest liczbą
$c = $a + $b; # Wynik: $c = 12, ponieważ Perl nie potrefił (raczej
# słusznie) przerobić $b = "text" na liczbę




Lista operatorów

    W powyższym przykładzie został zastosowany operator dodawania. Powoduje on że polecenie ma wartość sumy dwóch operandów. Wartość polecenia przypisywaliśmy operatorem = do zmiennej $c. W Perlu występuje ich wiele i są o różnym priorytecie. Priorytet decyduje o kolejności wykonywania działań. Działania o wyższym priorytecie są wykonywane w pierwszej kolejności. Jeśli chcemy ją (kolejność) zmienić, musimy użyć nawiasów. Poniżej jest przedstawiona lista najważniejszych operatorów razem z ich krótkimi opisami.

Operatory ++ i --
Są one operatorami zwiększającymi (inkramentacja) lub zmniejszającymi (dekrementacja) wartość danej zmiennej o 1

# --- postinkrementacja ---
$a = 5;
$b = $a++; # przypisanie $a do $b, następnie zwiększenie $a o jeden
# Wynik: $a = 6, $b = 5
# --- preinkrementacja ---
$a = 5;
$b = ++$a; # zwiększenie $a o jeden, następnie przypisanie jej do $b
# Wynik: $a = 6, $b = 6

Autor:
Maciej Jerzy Nowak
nowak@vips.qs.pl

 

Kurs udostępnił :
http://ygreg.and.pl