perl

Autres langues

Langue: pl

Autres versions - même langue

Version: 2003-01-11 (openSuse - 09/10/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).