Začíname s Perl časť 2.

V prvom dieli sme si povedali niečo o základoch programovania v tomto jazyku. Teraz si ukážeme nejaké tie tipy a triky.

Čítanie zo vstupu

K získaniu vstupných dát sa v programoch Perl používa konštrukcia nazvanú diamantový operátor. Ten vypadá takto:

< >

Diamantový operátor môžeme jednoducho priradiť k premennej ako ich hodnotu. Pri behu programu potom bude úžívateľ zadávat hodnoty, ktoré zadá z klávesnice.
Diamantový operátor vo vyžšie uvedenej podobe síce plní svoju funkciu, ale umožnuje užívateľovi tiež jednu vec, ktorá sa nám nemusí vždy páčiť. Ide o predávanie hodnôt nie z klávesnice, ale z daľších súborov, ktoré pri spúštaní programu zadáme ako parameter. Pokiaľ sa tomuto chcete vyhnúť a zaújima vás iba vstup z klávesnice, zadajte diamantový operátor v podobe . Teda napríklad:

$a = <STDIN> ;

Pri vstupe z klávesnice, alebo presnejšie z štrandardného vstupu (STDIN = Strandard Input) je nutné potvrdiť zadávané hodnoty klávesou ENTER, inak by ich program samozrejme neprijal. Viacmenej stlačenie klávesy ENTER, sa tiež spracuje v programe tak, že je tiež uvedená v premennej, a to ako znak na konci riadku. Aby sme ju odstránili použijeme funkciu chomp() :

$a = <STDIN> ;
chomp($a);

Nasledujúci príkaz sa často míli s príkazom predošlím ktorí zmaže "novy riadok" na konci retazca, zatiaľ čo tento zmaže posledný akykovľek znak. Syntax je takmer rovnaká:

$a = "hocijaky text"; chop($a);

Ak to spustíme, tak v premennej $a bude už len text: "hocijaky tex".

Úprava textu / retazcov

Ak chcete previesť nejaký retazec v ktorom su veľké písmena, môžme použiť funkciu lc() :

$a = lc("NEJAKY TEXT");

Ak si premennú potom vypíšeme, bude v nej: "nejaky text".

To isté, ale naopak. Ak chceme previesť retazec s malímy písmenamy na veľke, použijeme funkciu: uc() :

$a = uc("nejaky text");

Sme si ukázali ake previesť veľke na malé písmena a naopak. Ale co ak chceme iba prve písmeno? Na to slúži funkcia podobna a zároven aj logická: "lsfirst()" a "ucfirst()". Uvedieme si malý príklad:

$a = ucfirst("nejaky text");
$b = lcfirst("NEJAKY text");

Aby sme zistili dĺžku retazca, použijeme funkciu: "length()". Ta nám vráti číslo zodpovedajúce celej dĺžke retazca:

$a = length("nejaky text");

Retazce a čísla naraz? Do premennej môžeme napríklad veľmi jednoducho priradiť hodnotu "5 aut" nasledujúcim spôsobom:

$patka = 5;
$text = $patka." aut";