Perl

Linux.fista
Siirry navigaatioon Siirry hakuun
Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.
Perl
Paradigma proseduraalinen
Tyypitys heikko, dynaaminen
Evaluointitapa innokas
Suoritusmalli tulkattava
Kotisivu www.perl.org

Perl on monella alustalla toimiva ohjelmointikieli, joka on erityisen suosittu dynaamisten www-sivujen teossa. Apache HTTPD:n kanssa käytettävä mod_perl optimoi Perl-palvelujen suorituksen tässä yhteydessä välttämällä koodin turhaa uudelleenkääntämistä.

Larry Wall kehitti Perlin 1987 keskusteluryhmien analysointiin ja tekstidatan käsittely onkin Perlin ominta aluetta. Perl on kuitenkin yleiskäyttöinen ohjelmointikieli, tarkoituksena tarjota työkalu siihen mikä on liian vaikeata komentotulkkiskripteillä ja jota ei kuitenkaan viitsi tehdä C:llä tai muulla "oikealla" ohjelmointikielellä. Perliin löytyy nykyään erikoistuneita moduleita hyvin moneen tarkoitukseen.

Perl on rakenteellinen ohjelmointikieli, sisältäen muuttujia, lausekkeita, kaarisulkein erotettuja lohkoja, kontrollirakenteita ja aliohjelmia. Kielelle on ominaista että ohjelman voi kirjoittaa selkeän rakenteellisesti tai käyttäen kompaktia lyhennettyä muotoa. Perl pyrkii olemaan intuitiivinen eikä esimerkiksi vaadi muuttujien määrittelemistä. Normaalisti Perl-skripti käännetään joka kerta ennen suorittamista, jolloin sitä toisaalta ei tarvitse kääntää erikseen, toisaalta sen ajonopeus käynnistyksen jälkeen on verrattavissa käännettäviin ohjelmiin.

Esimerkkejä[muokkaa]

  • Komentorivi (suojatulla rivinvaihdolla) jolla määritellään ja ajetaan Perl-ohjelma, joka puolestaan luo järjestelmään "puuttuvat" kotihakemistot (tämä on vain perl-esimerkki, älä käytä sitä vakavasti!):
perl -wce 'setpwent; while (@list=getpwent) {-e $list[7] or mkdir $list[7]'"\
"'&& chown $list[2], $list[3], "$list[7]" } endpwent;'
  • Vaihda tiedoston rivinvaihdot DOS-tyylisistä Unix-tyylisiksi:
perl -wce 'while (<>) {s/\r\n/\n/}' tiedosto.txt

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]

v  k  m
Ohjelmointikielet
 Käännettävät  Assembly | C | C++ | Go | Haxe | Haskell | Java | Pascal
 Tulkattavat  Python | Perl | PHP | Ruby
 -skriptikielet  Lua | Bash
 GPGPU  OpenCL
 muut  GLSL