Bitové operátory
Bitové operátory & (bitový logický součin), | (bitový logický součet) a ^ (exkluzivní bitový logický součet) pracují rozdílně s čísly a řetězci. Při práci s čísly jsou oba operandy převedeny na celá čísla a pak je s nimi dále pracováno. Je-li jedním operandem číslo a druhým řetězec, je řetězcový operand nejprve převeden na číslo, pak jsou případně obě čísla převedena na celočíselný tvar. V případě dvou řetězců, které ještě nebyly použity jako čísla, se bitové operace provádějí mezi odpovídajícími bity obou řetězců. Je-li délka některého řetězce kratší než délka druhého, jsou tyto chybějící bity nahrazeny hodnotou 0.Logické operátory
Perl nabízí dva operátory, u nichž probíhá zkrácené vyhodnocování - && pro logický součin a | | pro logický součet. Zkrácené vyhodnocování je založeno na skutečnosti, že někdy stačí vyhodnotit pouze levý operand, aby bylo možné zjistit výsledek celého výrazu. Je-li hodnota levého operandu při logickém součtu pravdivá, je jasné, že celý výraz bude pravdivý, a není třeba provádět vyhodnocování operandu pravého.Nyní uvažujme, že chceme oslovit uživatele. Chceme-li to učinit, potřebujeme k tomu znát bud' jeho přezdívku, nebo jméno či příjmení. Tyto tři údaje máme uloženy ve třech proměnných. Pokud má uživatel přezdívku, budeme ho oslovovat přezdívkou, jinak zvolíme jméno, když nebude zadané ani jméno, použijeme příjmení. Mohli bychom zvolit větvění pomocí příkazu if, ale operátor | | nabízí elegantnější řešení.
$osloveni = $prezdivka | | $jmeno | | $prijmeni;
Operátor rozsahu
Operátor rozsahu . . se chová v závislosti na tom, v jakém kontextu je použit. V seznamovém kontextu vrací seznam, začínající hodnotou operandu na straně levé a končící hodnotou operandu na straně pravé. Je-li jeden operand řetězec a druha číslo, je řetězcový operand převeden na číslo. Jsou-li oba operandy řetězce, operátor vrací seznam řetězců. Je-li levá hodnota větší než pravá, je vrácen prázdný seznam. V seznamovém kontextu se tohoto operátoru využívá například při psaní cyklu foreach nebo při vytváření seznamu.
Foreach (1..10){
Print "Druhá mocnina $_ je ", $_**2, "\n";
}
@mala_abeceda = ('a'..'z');
@alfanumericke_znaky = ('a'..'z' , 'A'..'Z', '0'..'9');
A to by bylo pro dnešek všechno. V dalším díle se podíváme podmínkový operátor, operátor přiřazení a operátor čárka. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.
Autor: Robert Habrman