Perl, Datové typy (8.díl)

Napsal O webu (») 15. 1. 2008 v kategorii Programování, přečteno: 612×
obrazky/logo_perl.jpg

Víceřádkové řetězce

V Perlu je možné pracovat s několikařádkovým textem jako s řetězcem. Počátečním ohraničovacím symbolem je <<. Ihned za tímto uvozovacím symbolem následuje posloupnost znaků, kterou bude celý text končit. Tato posloupnost musí začínat na novém řádku a za ním musí následovat znak konce řádku. Je-li řetězec za << v uvozovkách nebo bez, pracuje se s celým řetězcem jako kdyby byl v uvozovkách. Je-li posloupnost znaků v apostrofech, pracuje se s nim jako s řetězcem v apostrofech. Text v obrácených uvozovkách je považován za externí příkazy, které jsou postupně vykonávány.


Print <<KONEC;

První řádek textu

Druhý řádek textu

KONEC



Koncový oddělovač textu, který není uveden v uvozovkách, apostrofech nebo obrácených apostrofech, musí následovat ihned za symbolem <<. Pakliže tomu tak není, je za koncový oddělovač považován prázdný znak, což znamená, že text bude končit prvním řádkem, na kterém bude pouze znak konce řádku.


Print << KONEC #chyba

První řádek textu

Druhý řádek textu

KONEC


Print <<

První řádek textu

Druhý řádek textu

#tady končí celý řetězec


Konverze mezi řetězci a čísly

Pokud se číselná hodnota použije jako řetězec, automaticky se tato hodnota převede na řetězec, který obsahuje zápis příslušného čísla. V opačném případě interpret přeskočí počáteční bílé znaky (mezery, tabulátory, konce řádků), vezme nejdelší souvislou část řetězce představující platný zápis čísla a zbytek řetězce ignoruje. Pokud řetězec nezačíná zápisem čísla, je vyhodnocen jako hodnota 0.


Print ‘a’.123;

#Vytiskne ‘a123’

Print ‘12a’ + 3;

#Vytiskne ‘15’ (12+3)

Print ‘-1.2e2ggh’ * ‘2’;

#Vytiskne ‘-240’ (-120*2)

Print ‘klm’>>3;

#Vytiskne ‘0’ (0>>3)



Perl nerozpozná čísla zadaná hexadecimálně nebo oktalově. Pro převod je nutné volat funkce hex nebo oct. Také případná podtržítka nejsou chápána stejně jako u číselného literálu.


Print 2 * ‘0xf’

#Vytiskne ‘0’ (2*0)

Print 2 * hex ‘0xf’

#Vytiskne ‘30’ (2*15)



V dalším díle se podíváme na datový typ pole a seznam. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.



Autor: Robert Habrman
Štítky: Perl
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel sedm a šest