perl

Autres langues

Langue: pl

Autres versions - même langue

Version: 2003-01-11 (fedora - 25/11/07)

Section: 1 (Commandes utilisateur)

NAZWA

perl - Praktyczny język ekstrakcji i raportowania

SKŁADNIA

perl  -sTuU ] [ -hv ] [ -V[:zmienna_conf] ]

    [ -cw ] [ -d[:debugger] ] [ -D[numer/lista] ]
    [ -pna ] [ -Fwzorzec ] [ -l[octal] ] [ -0[liczba_ósemkowa] ]
    [ -Ikatalog ] [ -m[-]moduł ] [ -M[-]'moduł...' ]
    [ -P ] [ -S ] [ -x[katalog] ]
    [ -i[rozszerzenie] ] [ -e 'polecenie' ] [ -- ] [ plik_z_programem ] [ argument ]...

Jeśli jesteś nowicjuszem Perla, powinieneś zacząć od perlintro(1), zawierającego ogólne informacje dla początkujących i dostarczającego informacji mogących pomóc ci nawigować po reszcie szczegółowej dokumentacji Perla.

Dla ułatwienia dostępu, podręcznik Perla został podzielony na kilka sekcji:

Przegląd

     perl(1)                Przegląd możliwości Perla  (ta sekcja)
     perlintro(1)           Wstęp do Perl dla początkujących
     perltoc(1)             Spis treści dokumentacji
 
 

Przewodniki

     perlreftut(1)          Szybkie wprowadzenie do referencji
     perldsc(1)             Wstęp do struktur danych
     perllol(1)             Struktury danych Perla: listy list
 
 
     perlrequick(1)         Szybkie wprowadzenie do wyrażeń regularnych
     perlretut(1)           Podręcznik wyrażeń regularnych
 
 
     perlboot(1)            Podręcznik OO Perla dla początkujących
     perltoot(1)            Podręcznik OO Perla, część 1
     perltooc(1)            Podręcznik OO Perla, część 2
     perlbot(1)             Sztuczki OO wraz z przykładami
 
 
     perlstyle(1)           Przewodnik po stylu Perla
 
 
     perltrap(1)            Pułapki dla nieuważnych
     perldebtut(1)          Przewodnik debuggowania Perla
 
 
     perlfaq(1)             Często zadawane pytania
       perlfaq1(1)          Ogólne pytania dotyczące Perla
       perlfaq2(1)          Uzyskiwanie Perla i nauka
       perlfaq3(1)          Narzędzie programistyczne
       perlfaq4(1)          Manipulowanie danymi
       perlfaq5(1)          Pliki i formaty
       perlfaq6(1)          Wyrażenia regularne
       perlfaq7(1)          Sprawy związane z językiem
       perlfaq8(1)          Oddziaływanie z systemem
       perlfaq9(1)          Sieć
 
 

Reference Manual

     perlsyn(1)             Składnia
     perldata(1)            Struktury danych
     perlop(1)              Operatory Perla i priorytety
     perlsub(1)             Podprocedury
     perlfunc(1)            Wbudowane funkcje
       perlopentut(1)       Podręcznik funkcji open()
       perlpacktut(1)       Podręcznik funkcji pack() i unpack()
     perlpod(1)             Czysta stara dokumentacja
     perlpodspec(1)         Format czystej starej dokumentacji
     perlrun(1)             Wywoływanie Perla i opcje
     perldiag(1)            Komunikaty diagnostyczne
     perllexwarn(1)         Ostrzeżenia Perla i ich kontrola
     perldebug(1)           Debugowanie
     perlvar(1)             Predefiniowane zmienne
     perlre(1)              Wyrażenia regularne, reszta opowieści
     perlref(1)             Referencje, reszta opowieści
     perlform(1)            Formaty
     perlobj(1)             Obiekty Perla
     perltie(1)             Obiekty ukryte za prostymi zmiennymi
       perldbmfilter(1)     Filtry DBM
 
 
     perlipc(1)             Komunikacja międzyprocesowa
     perlfork(1)            Informacje o funkcji fork()
     perlnumber(1)          Semantyka liczb w Perlu
 
 
     perlthrtut(1)          Podręcznik wątków Perla
       perlothrtut(1)          Stary podręcznik wątków Perla
 
 
     perlport(1)            Podręcznik przenaszalności Perla
     perllocale(1)          Wsparcie dla ustawień narodowych
     perluniintro(1)        Wprowadzenie do Unikodu w Perlu
     perlunicode(1)         Wsparcie dla Unikodu w Perlu
     perlebcdic(1)          Używanie Perla na platformach EBCDIC
 
 
     perlsec(1)             Bezpieczeństwo
 
 
     perlmod(1)             Moduły Perla: jak działają
     perlmodlib(1)          Moduły Perla: jak pisać i używać
     perlmodstyle(1)        Moduły Perla: jak pisać ze stylem
     perlmodinstall(1)      Moduły Perla: jak zainstalować z archiwum CPAN
     perlnewmod(1)          Moduły Perla: przygotowanie nowego modułu do dystrybucji
 
 
     perlutil(1)            Narzędzie użytkowe znajdujące się w dystrybucji Perla
 
 
     perlcompile(1)         Wstęp do zestawu do kompilowania Perla
 
 
     perlfilter(1)          Filtry źródeł Perla
 
 

Funkcje wewnętrze i interfejs języka C

     perlembed(1)           Jak załączyć Perl do aplikacji C lub C++
     perldebguts(1)         Wskazówki dotyczące debuggowania Perla
     perlxstut(1)           Podręcznik XS 
     perlxs(1)              API interfejsu XS 
     perlclib(1)            Funkcje wewnętrzne zastępujące standardowe funkcje biblioteki C
     perlguts(1)            Wewnętrzne funkcje dla tych, którzy robią rozszerzenia
     perlcall(1)            Konwencje wołania z C
 
 
     perlapi(1)             Lista funkcji API (wygenerowana automatycznie)
     perlintern(1)          Wewnętrzne funkcje Perla (wygenerowane automatycznie)
     perliol(1)             API w C implementacji wejścia/wyjścia w Perlu przy użyciu warstw (layers)
     perlapio(1)            Abstrakcyjny, wewnętrzny interfejs Perla dla wejścia/wyjścia
 
 
     perlhack(1)            Przewodnik hakerów Perla
 
 

Różnorodne

     perlbook(1)            Informacje o książkach
     perltodo(1)            Rzeczy do zrobienia w nowszych wersjach Perla
 
 
     perlhist(1)            Historia Perla
     perldelta(1)           Zmiany od ostatniej wersji
     perl572delta(1)        Zmiany w wersji 5.7.2 Perla
     perl571delta(1)        Zmiany w wersji 5.7.1 Perla
     perl570delta(1)        Zmiany w wersji 5.7.0 Perla
     perl561delta(1)        Zmiany w wersji 5.6.1 Perla
     perl56delta(1)         Zmiany w wersji 5.6 Perla
     perl5005delta(1)       Zmiany w wersji 5.005 Perla
     perl5004delta(1)       Zmiany w wersji 5.004 Perla
 
 

Specyficzne dla języka

     perlcn(1)              Perl dla Chińczyków (uproszczony chiński, w EUC-CN)
     perljp(1)              Perl dla Japończyków (w EUC-JP)
     perlko(1)              Perl dla Koreańczyków (w EUC-KR)
     perltw(1)              Perl for Chińczyków (tradycyjny chiński, w Big5)
 
 

Specyficzne dla systemu

     perlaix(1)             Uwagi do systemu AIX
     perlamiga(1)           Uwagi do systemu AmigaOS
     perlapollo(1)          Uwagi do systemu Apollo DomainOS
     perlbeos(1)            Uwagi do systemu BeOS
     perlbs2000(1)          Uwagi do systemu POSIX-BC BS2000
     perlce(1)              Uwagi do systemu WinCE
     perlcygwin(1)          Uwagi do systemu Cygwin
     perldgux(1)            Uwagi do systemu DG/UX
     perldos(1)             Uwagi do systemu DOS
     perlepoc(1)            Uwagi do systemu EPOC
     perlfreebsd(1)         Uwagi do systemu FreeBSD
     perlhpux(1)            Uwagi do systemu HP-UX
     perlhurd(1)            Uwagi do systemu Hurd
     perlirix(1)            Uwagi do systemu Irix
     perlmachten(1)         Uwagi do systemu Power MachTen
     perlmacos(1)           Uwagi do systemu Mac OS (Classic)
     perlmint(1)            Uwagi do systemu MiNT
     perlmpeix(1)           Uwagi do systemu MPE/iX
     perlnetware(1)         Uwagi do systemu NetWare
     perlos2(1)             Uwagi do systemu OS/2
     perlos390(1)           Uwagi do systemu OS/390
     perlplan9(1)           Uwagi do systemu Plan 9
     perlqnx(1)             Uwagi do systemu QNX
     perlsolaris(1)         Uwagi do systemu Solaris
     perltru64(1)           Uwagi do systemu Tru64
     perluts(1)             Uwagi do systemu UTS
     perlvmesa(1)           Uwagi do systemu VM/ESA
     perlvms(1)             Uwagi do systemu VMS
     perlvos(1)             Uwagi do systemu Stratus VOS
     perlwin32(1)           Uwagi do systemu Windows
 
 

Na systemach Debiana, należy zainstalować pakiet perl-doc, który
 zawiera większość standardowej dokumentacji Perla oraz program perldoc(1).

Dostępna jest szczegółowa dokumentacja modułów perla zarówno tych rozprowadzanych z Perlem, jak i tych, które są dostarczane przez dostawców zewnętrznych.

Powinieneś być w stanie oglądać dokumentację Perla swoim programem man(1) lub perldoc(1).

Jeżeli z twoim programem w Perlu dzieje się coś dziwnego i nie wiesz, gdzie szukać pomocy, spróbuj najpierw użyć opcji -w, która bardzo często potrafi pokazać, gdzie dokładnie leży problem.

OPIS

Perl jest językiem interpretowanym, optymalizowanym do skanowania dowolnych plików tekstowych, wyciągania z nich informacji i drukowania raportów opartych na tych danych. Jest też dobrym językiem dla wielu zadań zarządzania systemem. Język miał w założeniach być raczej praktyczny (łatwy, efektywny, kompletny) niż piękny (mały, elegancki, minimalny).

Perl (wg autora) łączy najlepsze właściwości języków C, sed, awk i sh, więc osoby zaznajomione z tymi językami nie powinny mieć z nim problemów. (Historycy języków zauważą także pozostałości csh, Pascala, a nawet BASICa-PLUS). Składnia wyrażeń odpowiada dość blisko składni C. W przeciwieństwie do większości narzędzi uniksowych, Perl nie ogranicza arbitralnie rozmiaru twoich danych---jeśli masz wolną pamięć, Perl może wessać cały plik jako pojedynczy łańcuch znakowy. Rekurencja jest nieograniczonej głębokości. Tabele używane przez tablice asocjacyjne (tzw. ``hasze'') rosną tak, by zachować maksymalną wydajność. Perl używa wyrafinowanych metod porównywania wzorców do bardzo szybkiego przeszukania dużej ilości danych. Mimo że jest optymalizowany do zadań tekstowych, może także zajmować się danymi binarnymi i tworzyć pliki dbm wyglądające jak tablice asocjacyjne. Suidowane skrypty Perla są bezpieczniejsze niż programy w C, dzięki mechanizmowi śledzenia przepływających danych, który eliminuje wiele głupich dziur w bezpieczeństwie.

Jeśli masz problem, który normalnie wymagałby użycia seda lub awka, lub sh, lecz przewyższa ich właściwości lub musi działać szybciej i nie chcesz pisać takiej błahostki w C, to Perl jest przypuszczalnie tym, czego szukasz. Jest też wiele translatorów, umożliwiających konwertowanie skryptów seda i awka na skrypty Perla.

Ale czekaj, jest więcej...

Wersja 5 Perla jest właściwie napisana od nowa i daje następujące rzeczy:

modularyzacja i powtórne używanie kodu z pomocą niezliczonych modułów

Opisane w perlmod(1), perlmodlib(1) i perlmodinstall(1).

zakorzenienie i rozszerzalność

Opisane w perlembed(1), perlxstut(1), perlxs(1), perlcall(1), perlguts(1) i xsubpp(1).

pozwala zdefiniować właśnie magiczne zmienne (włączając w to wielokrotne równoległe implementacje DBM)

Opisane w perltie(1) i AnyDBM_File(3perl).

podprogramy mogą być teraz nadpisywane, ładowane automatycznie i mogą mieć prototypy

Opisane w perlsub(1).

dowolnie zagnieżdżone struktury danych i funkcje anonimowe

Opisane w perlreftut(1), perlref(1), perldsc(1) i perllol(1).

programowanie orientowane obiektowo

Opisane w perlobj(1), perlboot(1), perltoot(1), perltooc(1) i perlbot(1).

wkompilowywanie w kod C lub bajtkod Perla

Opisane w B(3perl) i B::Bytecode(3perl).

wsparcie dla wątków

Opisane w perlthrtut(1) i Thread(3perl).

wsparcie dla internacjonalizacji, ustawień językowych i Unikodu

Opisane w perllocale(1) i utf8(3perl).

zasięg składniowy

Opisane w perlsub(1).

ulepszenie wyrażeń regularnych

Opisane w perlre(1) z dodatkowymi przykładami w perlop(1).

ulepszony debugger i interaktywne środowisko Perla ze wsparciem dla zintegrowanego edytora

Opisane w perldebtut(1), perldebug(1) i perldebguts(1).

biblioteka zgodna z POSIX 1003.1

Opisane w POSIX.

OK, to już wystarczająco dużo.

DOSTĘPNOŚĆ

Perl jest dostępny dla większości systemów operacyjnych, włączając w to wszystkie systemy uniksopodobne. Lista znajduje się w rozdziale ``Wspierane platformy'' w perlport(1).

ŚRODOWISKO

Patrz perlrun(1).

AUTOR

Larry Wall <larry@wall.org>, z pomocą multum innych osób.

Jeżeli Twoje sukcesy w Perlu i referencje mogłyby pomóc innym, którzy by chcieli użyć Perla w swoich programach, lub jeżeli po prostu chcesz wyrazić swoją wdzięczność Larry'emu i twórcom Perla, prosimy pisać do perl-thanks@perl.org .

PLIKI

  "@INC"                 lokalizacje bibliotek Perla
 
 

ZOBACZ TAKŻE

  a2(1)     translator awk na perl
  s2p(1)    translator seda na perl
 
 
  http://www.perl.com/       strona domowa Perla
  http://www.cpan.org/       archiwum CPAN
  http://www.perl.org/       Perl Mongers (grupy użytkowników Perla)
 
 

DIAGNOSTYKA

Pragma "use warnings" (i przełącznik -w) daje uroczą diagnostykę.

Zobacz stronę perldiag(1) dla szczegółów o diagnostyce Perla. Pragma "use diagnostics" powoduje, że zazwyczaj zwięzłe ostrzeżenia i błędy Perla są wyświetalne właśnie w tej dłuższej formie.

Błędy kompilacji dają numer linii z błędem oraz wskazanie kolejnego tokenu lub typu tokenu, który miał być badany. (W wypadku skryptu przekazanego Perlowi przez przełącznik -e, każde -e jest traktowane jako pojedyncza linia).

Skrypty setuidowane mają dodatkowe warunki, mogące dawać błędy w rodzaju ``Insecure dependency''. Zobacz stronę perlsec(1).

Wspomnieliśmy już, że powinieneś koniecznie rozważyć użycie przełącznika -w?

BŁĘDY

Przełącznik -w nie jest obowiązujący.

Perl polega na tym, jak twoja maszyna definiuje różne operacje, takie jak rzutowanie typów, atof()(3) i sprintf(3). To ostatnie może nawet spowodować coredump kiedy otrzyma nonsensowne wartości wejściowe.

Jeśli twoje stdio wymaga seeka lub eof między odczytami i zapisami w danym strumieniu, to tak też jest w Perlu. (Nie dotyczy to sysread() i syswrite()).

Podczas gdy żaden z wbudowanych typów danych nie ma ostatecznego limitu rozmiaru (poza rozmiarem pamięci), istnieje wciąż kilka innych ograniczeń: dany identyfikator nie może być dłuższy niż 251 znaków. Numery linii wyświetlane w komunikatach diagnostycznych są wewnętrznie przechowywane jako liczby całkowite ``short integers'', dlatego maksymalna wartość jaką mogą przyjąć wynosi 65535 (wyższy numer spowoduje ponowne liczenia od zera).

Raporty o błędach możesz przesyłać pocztą do perlbug@perl.com (upewnij się, że załączyłeś pełne dane o konfiguracji jako wyjście programu myconfig, załączanego w drzewie źródłowym Perla, lub z "perl -V")). Jeśli udało ci się skompilować perla, skrypt perlbug(1) z katalogu utils/ może zostać wykorzystany do pomocy w wysłaniu raportu błędu.

Perl właściwie jest skrótem od Pathologically Eclectic Rubbish Lister (Patologicznie Eklektyczny Roztrząsacz Śmieci), ale nie mów nikomu, że tak powiedziałem.

UWAGI

Mottem Perla jest ``Istnieje więcej niż jeden sposób by to zrobić.''. Odgadnięcie, ile pozostało jest ćwiczeniem dla czytelnika.

Trzy główne cnoty programisty to Lenistwo, Niecierpliwość i Pycha. Sprawdź w ``książce z wielbłądem'' dlaczego (L.Wall, T.Christiansen, R.L.Schwartz - Programmming Perl, O'Reilly & Associates, 1996; wyd.polskie 1999).