Perl

A Programozás Wiki wikiből
(PERL szócikkből átirányítva)

A Perl egy programozási nyelv, melyet Larry Wall tett közzé 1987. december 18-án. A szó a "Practical Extraction and Report Language" rövidítése. Értelmezett nyelv, a programot a PERL értelmező futtatja. Speciális nyelvi elemei (hash-ek, reguláris kifejezések) leegyszerűsítik a szövegfájlok feldolgozását, ezért azokon a területeken, ahol erre szükség van (CGI szkriptek, shell scriptek, weboldalak feldolgozása, összetett vállalati rendszerek), széles körben alkalmazott.

Mint értelmezett nyelv, platformfüggetlennek tekinthető. Az alapnyelv értelmezője aránylag kicsi, tehát egyszerű rendszerekben is adhat egy általános célú programozási eszközt.

A nyelv erősségei közé tartoznak a reguláris kifejezések, a típusok közötti átjárhatóság, a beépített hash- táblák használata, a perl értelmező akár programon belüli használatának lehetősége és az adatbázisok kezelésének megvalósítása (DBI).

A helló program Perl-ben:

   print "Hello, World!\n";

Adattípusok[szerkesztés]

# Skalár
   my $allat = "Csacsi";  # my: lokális változó
   my $szam = 42;
# Lista ("Array")
   my @vegyes = ("Csacsi", 42, 11);
   print $vegyes[0]; # első elem kiírása
   print $vegyes[$#vegyes]; # utsó elem kiírása $#tömb miatt.
   print $#vegyes+1; # az elemek száma
   print $vegyes[1..$#vegyes]; # 0. elem kivételével minden kiítása.

foreach (@lista) {
   print "A soron következő elem: $_\n"; # $_ az aktuális elem.
}

# Asszociatív tömb ("Hash"): kulcs és érték párok
   my %gyumolcs_vesszovel = ("alma", "piros", "banan", "sarga"); # így is megadható
   my %gyumolcs = (
       alma => "piros",
       banan => "sarga"
   ); # de így elegánsabb
   print $gyumolcs{"banan"}; # kiírja: sárga
   @kulcslista = keys %gyumolcs;
   @erteklista = values %gyumolcs;

Függvény[szerkesztés]

sub peldafuggveny {
  local $valtozo = $_[0]; # @_ lista elemei lesznek az átvett argumentumok. $#_+1  megadja az argumentumszámot
  print $valtozo."\n";
  $valtozo+1; # utolsó művelet eredménye lesz a visszatérő érték. $eredmeny = $valtozo + 1; is ugyanezt eredményezi.
}

$er = peldafuggveny(42);
print "$er\n";