Perl
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]
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 |