Perl/Ponowne użycie kodu (moduły)
Informacje ogólne
edytujModuły Perla (w formie plików z rozszerzeniem .pm) są zwykłymi plikami z kodem Perla, który może być używany w wielu programach. W Internecie jest zbiór takich modułów, nazywany CPAN (Comprehensive Perl Archive Network) pod adresem http://cpan.org. Wiele z tych modułów jest standardowo instalowanych razem z Perlem, jednak pozostałe trzeba osobno ściągnąć i zainstalować.
Istnieją setki modułów Perla, robiących wszystko od tworzenia plików tymczasowych po wysyłanie zapytań do strony amazon.com. Dzięki modułom można błyskawicznie pisać potrzebne aplikacje, jeśli tylko wiesz jak znaleźć, zainstalować i użyć odpowiednich modułów. Jeśli chcesz napisać swój własny modul, sprawdź na CPAN, czy taki jeszcze nie istnieje, by niepotrzebnie nie marnować czasu.
Moduły perla mogą być pisane w dwóch stylach:
- Obiektowo
- Funkcyjnie
Niektóre z nich jednak używają obydwu.
Obiektowych modułów używa się w taki sposób:
use Foo; my $foo = Foo->new(); print $foo->bar; #wywołaj metodę bar obiektu foo i wypisz wynik.
Funkcyjnych modułów używa się w taki sposób:
use Foo qw/bar/; # Importuj podprogram o nazwie bar. print bar();
Instalacja modułu
edytujZnajdź potrzebny moduł na http://cpan.org i ściągnij archiwum .tgz. Zdekompresuj i wypakuj zawartość:
tar -zxvf Modul.tgz
Wejdź do katalogu i działaj zgodnie z instrukcjami w pliku README lub INSTALL.
Jeśli masz zainstalowany program cpan, możesz go użyć z linii poleceń, by automatycznie zainstalować moduł.
sudo cpan -imt Modul::Ktory::Potrzebuje
Pisanie własnego modułu
edytujModuły Perla różnią się od skryptów Perla w dwóch aspektach. Zamiast linijki "#!/sciezka/do/perla" na początku, zawierają:
package Moj::Modul;
Kod modułu musi kończyć się dodatnią wartością. Zwykle na końcu dodawane jest:
1;
Oto przykład prawidłowego modułu Perla:
package Moj::Pierwszy::Modul; 1;
Przykład
edytujTworzymy plik o nazwie Przyklad.pm i wypełniamy go kodem:
package Przyklad; use strict; use base "Exporter"; our @EXPORT = qw/hello_world/; sub hello_world { print "hello, world!\n"; } 1;
Możemy sprawdzić poprawność składni poleceniem:
perl -c Przyklad.pm
To powinno wypisać "Przyklad.pm syntax OK" jeśli wszystko jest dobrze. W przeciwnym wypadku popraw błędy na podstawie tego co polecenie wypisuje.
Testujemy działanie modułu skryptem Perla:
#!/usr/bin/perl use Przyklad qw/hello_world/; hello_world(); exit;
Voilá! Napisałeś pierwszy moduł Perla.
Tworzenie modułu w stylu CPAN
edytujModuły w stylu CPAN mają testy i mogą być wbudowane w bibliotekę Perla.
Ściągnij i zainstaluj Module::Starter z CPAN. Pojawi się nowe polecenie 'module-starter', pozwalające utworzyć szablon modułu. Użyj polecenia:
module-starter --module=Moj::Modul, Moj::Inny::Modul, --author="Twoje Imię" --email="twoj@e-mail.com"
Zostaną stworzone odpowiednie katalogi i kilka skryptów. W katalogu lib znajdują się moduły, które edytujesz. W katalogu 't' możesz umieścić testy poprawnościowe. Aby zainstalować moduł, wpisz:
>perl Makefile.PL >make >make test >sudo make install