A Perl programozási nyelv

Bevezetés

"Rövid" összefoglaló

A Perl nyelv első verzióját 1991-ben készítette el Larry Wall, a NASA támogatásával. A nyelvet elsősorban szöveg feldolgozásra szánták. Sokkal fontosabbnak tekintették a hatékonyságot mind a kód megírásában, mind a kész program futtatásakor, mint a szépséget. A nyelv neve is a fentebb elmondottakra utal, hiszen a Perl a "Practical Extraction and Report Language" -ből képzett betűszó. Igaz, azt Larry Wall először "Pathologically Eclectic Rubbish Lister"-nek titulálta.

A nyelv nagy előnye a platformfüggetlenség: létezik az összes U*X-ra, VMS-re, OS/2-re és az M$ termékeire is.

A Perl nyelv egy interpretált - illetve betöltéskor fordított - nyelv. Eredetileg rendszeradminisztrációs feladatok megkönnyítésére írta Larry Wall, mert nem volt kedve a meglévő eszközök korlátaival bajlódni. A nyelv meglévő eszközökre lett alapozva: C, sed, awk és sh programokra. A LISP ismerete is sokat segíthet a listakezelések megértésében.

Perl-ben csak a számítógép hardware korlátai érvényesülnek: egy teljes file-t képes beolvasni egy string változóba (ha van elég memória), tetszőleges mélységű rekurzió futtatható benne (ha van türelmünk és memóriánk). Asszociatív tömbök elérését hash táblákkal gyorsítja (ami meglepően hatékony programok írását teszi lehetővé). Nagyon gyors és rugalmas mintaillesztő algoritmusa van szövegek keresésére és cseréjére. Képes bináris adatokkal is dolgozni, és ezekből bonyolult adatstruktúrákat felépíteni. Az adminisztrációs feladatok megkönnyítésére az asszociatív tömbökhöz adatbázis file-okat rendelhetünk, melyek szerkezetét egy gyakorlott programozó maga is megadhatja.

Az 5-ös verziótól kezdve már használhatjuk a moduláris programozást támogató nyelvi konstrukciókat, sőt már Objektum Orientált eszközöket is.

A Perl-ben setuid programok sokkal biztonságosabban írhatók, mint C nyelvben az adatfolyam követését biztosító funkciók miatt (ld.: -T kapcsoló). Elkerülhetünk egy csomó egyszerű hibát, amit a C programban csak debuggolással fedeznénk fel. Egyszerűen sokkal jobb a fejlesztési idő/futtatási idő arány egy ritkán használt, vagy futási időben nem kritikus program írásánál. Szerintem akkor is érdemes ehhez a nyelvhez fordulni, ha egy shell script-ekből és C programokból álló keveréket szeretnénk létrehozni, vagy csak tesztelni szeretnénk egy ötletünket, amit - ha beválik - persze később megírhatunk C-ben.

Fontos még megjegyezni, hogy a Perl POSIX kompatibilis.

Ez a leírás UNIX rendszert használó gépeken használható fel igazán. A konkrét nyelvi részek a DOS, OS/2 és Windows alatt futó Perl interpreterekre is igaz, de a környezetfüggő részek és a példák csak UNIX alapú rendszereken mennek .

Gyorstalpaló

Kezdetnek mindjárt megnézhetjük a minimális Perl programot, ami a "Hello World!!!" szöveg kiírásához kell:

#!/usr/local/bin/perl print "Hello World!!!\n";

Már ebből a picike programból egy csomó hasznos dolgot meg lehet tudni:

Ha Windows-os környezetben szeretnénk dolgozni, töltsük le valamelyik fordítót:
www.perl.com/CPAN/src/5.0/maint/
www.perl.org

Írjuk be a hello.pl file-ba:
print "Hello World!!!\n";

A filenak és a futtató programnak egy könyvtárban kell lennie.
Ezek után a parancssorba beírjuk:
perl hello.pl

Megjegyzés:
  1. Érdemes bemeneti adatot kérni a program végén, mert különben csak egy villanó ablakot fogunk látni.
    $num = <STDIN>;
  2. A további példáknál hasonlóan kell eljárni, a "#!/usr/local/bin/perl" elhagyásával, és a $num = <STDIN>; befejezéssel.