Uruchamianie skryptów Perla


Wstęp do opisu uruchomienia programów napisanych w Perlu

    Programy perlowe można wykonywać w różnych systemach operacyjnych. Na tej stronie opisaliśmy tylko dwa przypadki: uruchamianie w systemach UNIX i im podobnych (np. Linux), oraz w systemach MS Windows. Dowiesz się także, jak wywołać skrypty Perla jako CGI. Nie ma natomiast w naszym serwisie opisu, jak zainstalować interpretator Perl. Wszystkie informacje dotyczą wersji 5.


Uruchamianie w systemie UNIX

    Program perlowski w systemie unix możemy uruchomić na 2 sposoby, pierwszy z nich polega na wywołaniu interpretatora perl ze ścieżką do skryptu moj_program.pl jako parametr (w [] podane są wyrażenia opcjonalne)

znak_zachety$ [interpretator_path/]perl [program_path/]moj_program.pl

Treść polecenia może lub nawet musi zostać zmieniona, jeśli spełnia pewne warunki:
- znak_zachety$ - jest zależny od ustawień powłoki (shell'a), której używasz
- [interpretator_path/] - sciezka_do_interpretatora, może być pominięta jeśli interpretator jest zamieszczony w miejscu wymienionym przez zmienną PATH (ustawienie jej zależy od powłoki. Szczegóły znajdziecie w dokumentacji do danej powłoki
- perl - polecenie wywołujace interpretator, w przypadku niektórych systemów UNIX (np. BSD) należy używać polecenia perl5
- [program_path/] - sciezka_do_programu, może być pominięta jeśli program jest zamieszczony w miejscu wymienionym przez zmienną PATH, lub w katalogu bieżącym
- moj_program - nazwa może być dowolna, proponuję jednak stosowanie prostych nazw (przyda się przy debugowaniu)
- .pl - rozszerzenie nie jest obowiązkowe, stanowi jednak pewną konwencję, i jeśli nie ma żadnych poważnych przeciwskazań, lepiej się do niej dostosować

Drugą, alternatywną metodą uruchomienia skryptu jest wpisanie jego nazwy.

znak_zachety$ moj_program.pl

Jest to możliwe przy spełnieniu następujących warunków:
- Pierwsza linia programu musi zawierać kod

#!sciezka_do_interpretatora/perl

- Program musi mieć ustawione prawa do wykonania co uzyskujemy poleceniem

znak_zachety$ chmod a+x moj_program.pl

- Zmienna powłoki PATH musi zawierać ścieżkę do bierzącego katalogu, jeśli nie, to skrypt wywołujemy poleceniem

znak_zachety$ ./moj_program.pl


    Programy napisane w perlu, uruchamiane jako CGI, działają podobnie jak uruchomione z powłoki (tzn. z linii poleceń). Sprawę komplikuje jednak serwer WWW, który musi wiedzieć, że dany program, ma wykorzystywać po uruchomieniu interfejs CGI. Uzyskuje się to umieszczając go w katalogu /cgi-bin/. Następną komplikacją jest ustawienie praw dostępu (polecenie chmod) tak, by serwer WWW mógł go uruchomić. Należy także sprawdzić, czy pierwsza linia programu wskazuje na interpretator perla (jest to jeden z najczęstszych błędów u początkujących webmasterów).


Uruchamianie w systemach Win 9x/NT

    By uruchomić program napisany w Perlu w systemach Windows, należy zainstalować najpierw jego interpretator, który możecie pobrać z serwera www.activestate.com. Znajdziecie tam również instrukcję dotyczącą jego instalacji i dokumentację do niego. Wywołanie programu perlowskiego z linii poleceń wygląda mniej więcej tak:

C:\>[C:\][perl_path\]perl.exe [D:\][program_path\]moj_program.pl

Gdzie:
- C:\> - systemowy znak zachęty
- [C:\],[D:\] - odpowiednie dyski
- [perl_path] - katalog w którym znajduje się plik perl.exe, może być pominięty
jeżeli jest bieżący lub wyszczególniony w zmiennej PATH (zmienną ustawia się w autoexec.bat poleceniem
PATH=C:\ścieżka_do_perla\;"%PATH%")
- [program_path] - katalog w którym znajduje się nasz program (ten który chcemy wykonać :)
- moj_program.pl - nazwa programu, który chcemy wykonać
    W systemach Windows nie jest wymagana pierwsza linia programu (inaczej jest w UNIX'ach), jednak jej istnienie nie powoduje żadnych błędów - jest traktowana jak komentarz.
    By uruchomić program jako CGI, musi on być skojarzony z serwerem WWW (opis jak to zrobić powinien znajdować się w dokumentacji). Następnym warunkiem jest to, by katalog w którym się znajduje, pozwalał na wykonanie skryptu przez serwer. Należy także skojarzyć rozszerzenie *.pl z interpretatorem perla. Można to zrobić ręcznie w rejestrze, lub poprzez Eksploator Windows: w menu Widok, podmenu Opcje, zakładka Typy Plików i przycisk Nowy Typ.


Opcje programu Perl 5

    Poniżej wymienionych opcji można używać podczas wywołania programu z linii poleceń, lub (systemy *UNIX) w linii, gdzie podajemy ścieżkę do interpretatora. Pierwszy sposób ma wyższy priorytet. Na niekorzyść drugiego sposobu przemawia także fakt, że nie da się wywołać przy pomocy niego niektórych opcji. Więcej szczegółów dowiedzieć się można z dokumentacji Perla w części perlrun.

-h # wyświetla pomoc dotyczącą parametrów uruchamiania programu

-c # kompilacja programu w celu wykrycia błędów, bez jego
# wykonania

-d[:debugger] # uruchamia skrypt pod danym debuggerem

-e 'komenda' # pozwala na wykonanie kodu zawartego w linii poleceń

-Ikatalogi # określa katalogi, w których są moduły i pliki źródłowe
# wykorzystywane w programie (może być ich kilka)

-l[liczba] # w systemie ósemkowym określa znak końca linii

-m [-]moduł # wywołuje [niewywołuje] określony moduł

-P # "przepuszcza" program przez preprocesor języka C
# przed kompilacją

-s # pozwala na użycie dodatkowych opcji po nazwie skryptu

-S # powoduje wyszukiwanie plików również według zmiennej
# środowiskowej

-T # uniemożliwia wykonanie operacji związanych z systemem
# plików lub systemem operacyjnym, co powoduje zwiększenie
# bezpieczeństwa programów CGI

-v # wyświetla aktualnie używaną wersję interpteratora Perl

-V[:zmienna] # wyświetla informację o konfiguracji na temat określony
# przez zmienną

-w # powoduje wyświetlenie dodatkowych ostrzeżeń przy
# debugowaniu programu. Może powodować problemy w skryptach
# wykorzystywujących interfejs CGI (przez serwer WWW)

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

 

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