Provided by: manpages-pl_20060617-2_all bug

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:

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

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

       o   zakorzenienie i rozszerzalność

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

       o   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).

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

           Opisane w perlsub(1).

       o   dowolnie zagnieżdżone struktury danych i funkcje anonimowe

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

       o   programowanie orientowane obiektowo

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

       o   wkompilowywanie w kod C lub bajtkod Perla

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

       o   wsparcie dla wątków

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

       o   wsparcie dla internacjonalizacji, ustawień językowych i Unikodu

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

       o   zasięg składniowy

           Opisane w perlsub(1).

       o   ulepszenie wyrażeń regularnych

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

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

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

       o   biblioteka zgodna z POSIX 1003.1

           Opisane w POSIX.

       OK, to już wystarczajco 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).