![]() |
![]() |
![]() |
![]() |
| |||||||||||||||||||||||
|
![]() |
![]() |
![]() |
4.1 Zmienne.W Perlu korzystanie ze zmiennych zostało maksymalnie uproszczone. Nie trzeba ich tu w żaden specjalny sposób deklarować. Do wszelkich zmiennych skalarnych odwołujemy się umieszczając przed ich nazwą znak dolara. Przypisanie zmiennej $a wartości liczbowej 123 będzie miało postać: $a = 123; Aby przypisać zmiennej odpowiednią wartość łańcuchową, napiszemy pamiętając o apostrofach: $a = 'xxx'; Wypisywaliśmy już zwykły tekst. Teraz pozostaje tę samą czynność powtórzyć ze zmiennymi. Duże znaczenie mają użyte apostrofy. $a = 'jeden'; $b = 'dwa'; $c = 'trzy'; print $a.' - '.$b.' - '.$c; # wypisze: # jeden - dwa # - trzy print '$a - $b - $c'; # wypisze: # $a - $b - $c print "$a - $b - $c"; # wypisze: # jeden - dwa # - trzy Tekst zawarty w pojedynczym apostrofie jest traktowany jak zwykły ciąg znaków. Tekst zawarty w podwójnym apostrofie może zawierać nazwy zmiennych, które zostaną podmienione na ich wartości, jak również specjalne znaki, np. \t (tabulator), \n (nowa linia). Kompilator rozróżnia wielkie i małe litery ($A to nie to samo co $a). Nazwy zmiennych dobierane są dowolnie. Mogą nimi być dowolne kobinacje liter i cyfr (poza kilkoma wyjątkami, np. $_) o nieograniczonej długości. 4.2 Tablice zmiennych.Szerokie zastosowanie w programowaniu znajdują z pewnością tablice zmiennych. Duża wygoda ich użycia w Perlu wynika m.in. z tego, że nie posiadają one określonych rozmiarów, rosną w miarę potrzeb. Aby stworzyć tablicę i zapisać w niej wartości, napiszemy: @imiona = ("kazik", "tomek", "marek"); Z tak przygotowanej tablicy możemy pobierać poszczególne elementy, a także je zapisywać. Należy pamiętać, że pola tablicy są numerowane począwszy od zera. $imiona[0] # tak przedstawiany # jest pierwszy # element tablicy $imiona[1] = 'zyzio'; # tak zapisujemy do # drugiego pola # tablicy Każdy element tablicy to zwykła zmienna skalarna, dlatego w celu odwołania się do niej używamy znaku dolara a nie "małpki". W ten sposób dodajemy do tablicy nowe elementy: push(@imiona, "kasia"); # dodanie # kolejnego # czwartego # elementu # do # tablicy # @imiona push(@imiona, "kasia", "małgosia") # dodanie # dwóch # nowych # elementów # na raz @damy = ("kasia", "małgosia"); push(@imiona, @damy); # dodanie # dwóch # tablic # do # siebie Tak usuwamy ostatni element tablicy i jednocześnie go zwracamy: $a = pop(@imiona); # $a będzie zawierać # wartość ostatniego, # usuniętego elementu # tablicy @imiona Możliwe jest przyporządkowywanie zmiennym skalarnym tablic. Znowu należy zwrócić uwagę na użycie apostrofów. $a = @imiona; # zmienna $a będzie zawierać # liczbę elementów tablicy $a = "@imiona"; # zmienna $a będzie # łańcuchem składającym się # z kolejnych elementów # tablicy @imiona # oddzielonych spacjami Numer ostatniego elementu tablicy otrzymujemy dzięki zastosowaniu zapisu: $#imiona Możliwe jest ustalanie spodziewanych wielkości tablic przez przypisywanie odpowiednich wartości powyższej zmiennej. Ma to na celu przyspieszenie działania programu. Pozostała jeszcze kwestia wypisywania zawartości tablic: print @imiona; # wypisuje elementy # tablicy jednym ciągiem print "@imiona"; # wypisuje elementy, # oddziela je od siebie # spacjami print @imiona.""; # wypisuje ilość # elementów tablicy 4.3 Tablica @ARGV.W specjalnej tablicy o nazwie @ARGV zapisane są wszystkie opcje podane w linii komend przy starcie programu. Aby wypisać pierwszą opcję, napiszemy: print("$ARGV[0]"); Następujący program zakończy swe działanie odpowiednim komunikatem, jeśli okaże się, iż został wywołany z jakimikolwiek parametrami: if (@ARGV) { print "Program wywołano z parametrami!\n"; } 4.4 Tablice asocjacyjne.Poza przedstawionymi już zwykłymi tablicami istnieją jeszcze tablice asocjacyjne. Zasadniczą różnicą między zwykłą tablicą a tablicą asocjacyjną jest sposób odwoływania się do poszczególnych ich elementów: w zwykłej tablicy każdemu elementowi odpowiadała liczba, podczas gdy w tablicach asocjacyjnych każdemu elementowi będzie przyporządkowany łańcuch. W odróżnieniu od zwykłych tablic przed nazwami tablic asocjacyjnych stawiamy znak procenta. Przykładowo stworzymy tablicę asocjacyjną zawierającą liczby oznaczające wiek danych osób: %wiek = ("kazik", 17, "tomek", 20, "marek", 31); Aby odczytać interesującą nas informacje z wcześniej przygotowanej tablicy asocjacyjnej, napiszemy: $wiek{"marek"} # to wyrażenie zwróci # wartość 31 Ponieważ w polach tablicy asocjacyjnej zapisane są zmienne skalarne, do ich odczytu używamy znaku dolara. Możliwe jest konwertowanie zwykłych tablic do tablic asocjacyjnych i na odwrót: @tab = %wiek; # od tej chwili # @tab = ("marek", "31", # "tomek", "20", "kazik", # "17"); %nowa = @tab # od tej chwili %nowa # jest taką samą tablicą # jak %wiek 4.5 Tablica asocjacyjna %ENV.Program wykonywany w systemie UN*X może odwoływać się do zmiennych środowiskowych, które często zawierają przydatne informacje. (Aby dowiedzieć się o aktualnie ustalonych zmiennych środowiskowych, proszę wydać polecenie set). Perl standardowo udostępnia nam cały zestaw tych zmiennych. Są one umieszczone w tablicy asocjacyjnej o nazwie %ENV. print "Ty jesteś $ENV{'USER'}, witam!"; # zmienna środowiskowa USER # zawiera aktualną nazwę # użytkownika ![]() ![]() |
![]() |
![]() |
![]() |
[ zajrzyj... ]
[ zajrzyj... ]
| |||||||||||||||
Kurs pobrano ze strony:
www.BlueMan.aplus.pl