To pierwsza część samouczka Perla.
W tej części nauczysz się jak zainstalować Perla w systemie Microsoft Windows i jak zacząć korzystać z niego na Windows, Linuksie czy na Macu.
Dostaniesz wskazówki jak ustawić swoje środowisko deweloperskie, albo w mniej pretensjonalnych słowach: z którego edytora czy IDE korzystać do pisanie w Perlu?
Zobaczymy także standardowy przykład "Hello World".
Możesz także obejrzeć odpowiednie video.
Windows
W przypadku Windows będziemy korzystać z DWIM Perl. Jest to pakiet zawierający kompilator/interpreter Perla, Padre, the Perl IDE oraz pewną ilość rozszerzeń z CPAN.
W celu rozpoczęcia odwiedź stronę DWIM Perl i podążaj za linkiem aby pobrać DWIM Perl for Windows.
Dalej, pobierz plik exe i zainstaluj go w swoim systemie. Zanim to zrobisz upewnij się proszę, że nie masz zainstalowanego żadnego innego Perla w swoim systemie.
Mogłyby one działać łącznie, ale to wymagałoby nieco więcej wyjaśnień. Na ten moment pozostańmy przy jednej wersji Perla zainstalowanej w Twoim systemie.
Linux
Większość współczesnych dystrybucji Linuksa zawiera ostanią wersje Perla. Na ten moment będziemy korzystać z tej wersji Perla. Jako edytor, możesz zainstalować Padre - większość dystrybucji Linuksa oferuje go w swoim oficjalnym systemie pakietów. W przeciwnym wypadku możesz wybrać jakikolwiek zwykły edytor tekstu. Jeśli znasz vim lub Emacs, możesz wybrać jeden z nich. W przeciwnym wypadku Gedit może być dobrym, prostym edytorem.
Apple
Wierzę, że Maki także dostarczają Perla lub można go łatwo zainstalować przy użyciu standardowych narzędzi instalacyjnych.
Edytor i IDE
Chociaż jest to zalecane, nie musisz korzystać z IDE Padre do pisania kodu w Perlu. W następnej części wymienię kilka edytorów oraz IDE z których możesz korzystać do swojego programowania w Perlu. Nawet jeśli wybierzesz inny edytor, zalecam użytkownikom Windows instalację wymienionego wyżej pakietu DWIM Perl.
Ma on dołączonych wiele rozszerzeń Perla, więc zaoszczędzisz wiele czasu w przyszłości.
Video
Jeśli wolisz, możesz także obejrzeć video Hello world with Perl, które wgrałem na YouTube.
W takim przypadku możesz także chcieć zapoznać się z Beginner Perl Maven video course.
Pierwszy program
Twój pierwszy program będzie wyglądał tak:
use 5.010;
use strict;
use warnings;
say "Hello World";
Pozwól, że wyjaśnię go krok po kroku.
Hello world
Gdy zainstalowałeś DWIM Perl, możesz kliknąć na "Start -> All programs -> DWIM Perl -> Padre" co otworzy edytor z pustym plikiem.
Wpisz
print "Hello World\n";
Jak widzisz, wyrażenia w Perlu kończą się się średnikiem ;
.
\n
jest znakiem, którego używamy aby zapisać nowy wiersz.
Ciągi znaków są zawarte w podwójnych cudzysłowach "
.
Funkcja print
wyświetla na ekran.
Gdy zostanie wykonany, ten skrypt wyświetli na ekranie tekst a na jego końcu wyświetli znak nowego wiersza.
Zapisz plik jako hello.pl, a wówczas będziesz mógł uruchomić kod przez wybranie "Run -> Run Script" Zobaczysz osobne okno pokazujące wynik.
To wszystko, napisałeś swój pierwszy skrypt perlowy.
Rozszerzmy go nieco.
Perl w wierszu poleceń dla nieużywających Padre
Jeśli nie używasz Padre lub jednego z innych IDE nie będziesz w stanie uruchomić skryptu z samego edytora. Przynajmniej nie domyślnie. Będziesz musiał otworzyć wiersz poleceń (albo cmd w Windows), zmienić katalog na ten w którym zapisałeś plik hello.pl i wpisać:
perl hello.pl
W ten sposób możesz uruchomić skrypt w wierszu poleceń.
say() zamiast print()
Ulepszmy nieco nasz jednowierszowy skrypt w Perlu:
Przede wszystkim określmy minimalną wersję Perla z której chcielibyśmy korzystać:
use 5.010;
print "Hello World\n";
Kiedy to wpiszesz, możesz uruchomić skrypt ponownie przez wybranie "Run -> Run Script" lub wciśnięcie F5. W ten sposób zostanie automatycznie zapisany do pliku przed uruchomieniem.
Generalnie jest dobrą praktyką określenie minimalnej wersji perla jakiej wymaga Twój kod.
W tym przypadku dodaje to nieco nowych funkcjonalności do perla, łącznie ze słowem kluczowym say
.
say
jest jak print
ale jest krótsze oraz
automatycznie dodaje znak nowego wiersza na końcu.
Możesz zmienić swój kod w ten sposób:
use 5.010;
say "Hello World";
Zastąpiliśmy print
przez say
oraz usunęliśmy \n
z końca ciągu znaków.
Aktualnie zainstalowana wersja z której korzystasz to prawdopodobnie wersja 5.12.3 lub 5.14. Większość współczesnych dystrybucji Linuksa dostarcza wersję 5.10 lub nowszą.
Niestety, nadal istnieją miejsca ze starszymi wersjami perla.
Nie będą one w stanie korzystać ze słowa kluczowego say()
i mogą wymagać pewnych
dostosowań w późniejszych przykładach. Będę zwracał uwagę kiedy faktycznie wykorzystuję
funkcjonalności wymagające wersji 5.10.
Zabezpieczenia
Dodatkowo silnie zalecam dla każdego skryptu dalsze modyfikacje zachowania Perla. Aby to zrobić dodamy 2 tak zwane dyrektywy (pragmy), które są bardzo podobne do flag kompilatora w innych językach:
use 5.010;
use strict;
use warnings;
say "Hello World";
W tym wypadku słowo kluczowe use
mówi perlowi aby załadował i wykonał każdą pragmę.
strict
oraz warnings
pomogą Ci znaleźć parę popularnych błędów
w kodzie lub nawet uchornią Cię przed popełnieniem ich.
Są bardzo przydatne.
Wprowadzanie danych
Teraz poprawny nasz przykład przez pytanie użytkownika o imię i zawrzyjmy je w odpowiedzi.
use 5.010;
use strict;
use warnings;
say "What is your name? ";
my $name = <STDIN>;
say "Hello $name, how are you?";
$name
nazwywane jest zmienną skalarną (skalarem).
Zmienne są deklarowane przez użycie słowa kluczowego my.
(w rzeczywistości jest to jedno z wymagań dodawanych przez strict
.)
Zmienne skalarne zawsze rozpoczynają się od znaku $
.
<STDIN> jest narzędziem do wczytania linii z klawiatury.
Wpisz powyższe i uruchom poprzez naciśnięcie F5.
Zapyta Cię o Twoje imię. Wpisz swoje imię i naciśnij ENTER aby dać perlowi znać że skończyłeś wpisywanie swojego imienia.
Zauważysz, że wynik jest nieco zepsuty: przecinek po imieniu pojawia się w nowym wierszu.
Dzieje się tak ponieważ ENTER, który nacisnąłeś, gdy wpisywałeś swoje imię,
dostał się do zmiennej $name
.
Pozbywanie się znaków nowego wiersza
use 5.010;
use strict;
use warnings;
say "What is your name? ";
my $name = <STDIN>;
chomp $name;
say "Hello $name, how are you?";
Jest to tak częste zadanie w Perlu, że istnieje specjalna funkcja zwana chomp
do usuwania znaków nowego wiersza z końca łańcuchów znaków.
Podsumowanie
W każdym skrypcie który piszesz powinieneś zawsze dodawać use strict;
i use warnings;
jako dwa pierwsze polecenia. Jest także bardzo zalecane dodawanie use 5.010;
.
Ćwiczenia
Obiecałem ćwiczenia.
Wypróbuj poniższy skrypt:
use strict;
use warnings;
use 5.010;
say "Hello ";
say "World";
Nie wyświetliło się w jednym wierszu. Czemu? Jak to poprawić?
Ćwiczenie 2
Napisz skrypt, który poprosi użytkownika o dwie liczby, jedną po drugiej. Wtedy wyświetl sumę tych dwóch liczb.
Co dalej?
Następną część samouczka jest o edytorach, IDE oraz środowiskach deweloperskich dla Perla..