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.
|