Weblabor - A kiindulopont webmestereknek
Leírások+Referenciák / Perl röviden / Helló világ!

Igen, ez a szokásos bevezetõ gyakorlat, amelyik semmi mást nem csinál, mint kiírja a képernyõre, vagy a szabvány kimenetre, hogy Helló világ!

Hát itt is van:

print "Helló világ!\n";

És utána itt van az eredmény is:

Helló világ!
Persze ez nagyon egyszerû. A print beépített parancs kiírja az argumentumait a szabványos kimenetre. Aki programozott C-ben, annak ismerõs lehet a \n karakter is, amelyik egy sort emel (újsor karakter).

De félre a tréfával!

Nézzünk valami komolyabbat!

$a = 123;
$b = 55;
$c = $a + $b;
$d = "kakukk\n";
$d = 'kakukk\n' if $c == 178;
if ($d eq "kakukk\n") {	print "Helló világ!\n"; }
else { print "Ma nincs jó napod!\n"; }

Itt mindjárt látunk is valamit. Például azt, hogy minden egyes változó neve elõtt van egy dollár $ jel. Így nincs gond azzal, hogy egy név lefoglalt változó-e, vagy sem. Így lehet használni nyugodtan mindenféle változót, akár a következõket is:

$if  $else $return $unless $while $or $and

Ezek egyébként mind lefoglalt szavak lennének, ha lenne ilyen fogalom a Perl nyelvben.

Az elsõ három sor nem érdekes. A negyedik egy string értékadás, amelyik a $d változónak ad egy string értéket. Ez a string a k a k u k k karakterek és egy újsor karakter. A következõ sorban levõ utasítás elõször megvizsgálja, hogy a $c változó értéke 178-e. Rövid fejszámolás után kideríthetjük, hogy igen, bár az ilyen mûveletek elvégzésére még a Perl is jobb nálam. A $d itt tehát új értéket kap. Ez az új érték azonban nem egyezik meg azzal, amit az elõbb kapott (ennek nem is lenne semmi értelme, még egy ilyen tanmesében sem). Az új érték a k a k u k k \ n karakterek, azaz nyolc karakter. Mitõl? Miért fordított törtvonal, és n karakter van a füzér végén, és miért nem újsor karakter?

A magyarázat az idézõjelek helyett használt aposztrófokban rejlik.

Ha idézõjelet használunk, akkor a Perl értelmezi a stringet, az escape karaktereket éppen úgy, mint például a füzérben elõforduló változókat (miket??? türelem!). Ha azonban aposztrófokat használunk, akkor mindez nem történik meg, a füzér úgy van, ahogy leírtuk, se több, se kevesebb. Na, haladjunk tovább.

Ezek után már senkit sem lep meg, hogy amit kiír a program, az nem az elõzõ "Helló világ!", hanem az, hogy

Ma nincs jó napod!

ami ugye nem igaz, mert máris rengeteg érdekes dolgot tanultál meg a Perl nyelvrõl. Ha részletesebben is érdekel a dolog, akkor visszamehetsz a nyitó oldalra, vagy innen is továbbléphetsz és olvashatsz a Perl változókról, a különbözõ program szerkezetekrõl vagy a stringekrõl, hogy csak néhányat említsünk azok közül, amik ebben az ízelítõben elõjöttek.