Perl vede le istruzioni come se fossero delle funzioni per cui restituisce
un valore in output, quest'ultimo
può essere interpretato in senso
booleano come TRUE o come FALSE. Il valore "1" oppure una
stringa non vuota e diversa da "0" sono TRUE, al contrario, il
valore "0" o una stringa
vuota sono FALSE.
Gli operatori booleani o logici ragionano in senso binario,
cioè una dichiarazione può essere vera o falsa e sono impiegati in genere
per le istruzioni
condizionali come if, else ed
elsif (omologa dell'elseif in altri linguaggi), oppure, per
i cicli come for e while.
Tra gli operatori booleani
citiamo:
- AND: ad esempio: $var && $var_1; l'espressione logica
sarà vera se
"$var" e "$var_1" sono entrambe TRUE
altrimenti sarà falsa.
- OR: ad
esempio: $var || $var_1; l'espressione logica sarà vera
se almeno una delle due variabili lo è
altrimenti sarà falsa.
- NOT: ad esempio: !$var; l'espressione sarà vera se
"$var" non lo è altrimenti sarà falsa.
Gli operatori di
confronto,
invece, generano un output sulla base
di un confronto tra variabili; in questo caso è molto importante poter
confrontare tipologie di dato omogenee, quindi Perl dedica nativamente
operatori specifici con i quali
potremo operare confronti tra variabili
numeriche, tra stringhe e tra file.
Tra gli operatori per i
confronti numerici citiamo:
- L'operatore di uguaglianza. Ad esempio: $var == $var_1;
restituisce TRUE se le variabili sono identiche tra loro per valore.
- L'operatore di
minoranza. Ad esempio: $var < $var_1;
restituisce TRUE se la prima variabile ha un valore inferiore
rispetto a
quello della seconda.
- L'operatore di minoranza o uguaglianza. Ad esempio: $var <=
$var_1; restituisce TRUE se la prima variabile ha un valore inferiore o
uguale a quello della
seconda.
- L'operatore di maggioranza. Ad esempio: $var > $var_1;
restituisce TRUE se la prima
variabile ha un valore maggiore rispetto a
quello della seconda.
- L'operatore di maggioranza o
uguaglianza. Ad esempio: $var
>= $var_1; restituisce TRUE se la prima variabile ha un valore maggiore
o uguale a quello della seconda.
- L'operatore di diversità o di negazione. Ad
esempio:
$var != $var_1; restituisce TRUE se le variabili sono diverse tra loro per
valore.
Tra gli operatori per i
confronti tra le stringhe
citiamo:
- L'operatore di uguaglianza. Ad esempio: $var eq $var_1;
restituisce TRUE se le
variabili sono identiche tra loro.
- L'operatore di minoranza. Ad esempio: $var lt $var_1;
restituisce TRUE se la prima variabile ha un valore inferiore per ordine
alfabetico rispetto a quello della
seconda.
- L'operatore di minoranza o uguaglianza. Ad esempio: $var le
$var_1; restituisce TRUE se
la prima variabile ha un valore inferiore o
uguale per ordine alfabetico a quello della
seconda.
- L'operatore di maggioranza. Ad esempio: $var gt $var_1;
restituisce TRUE se la prima
variabile ha un valore maggiore per ordine
alfabetico rispetto a quello della seconda.
- L'operatore
di maggioranza o uguaglianza. Ad esempio: $var ge
$var_1; restituisce TRUE se la prima variabile ha un valore
maggiore o
uguale per ordine alfabetico a quello della seconda.
- L'operatore di diversità
o di negazione. Ad
esempio: $var ne $var_1; restituisce TRUE se le variabili sono diverse tra
loro.
Infine, citiamo alcuni tra gli operatori per il
confronto tra file:
- -r, ad esempio: -r $var; restituisce TRUE se il file associato
alla variabile è
leggibile.
- -w, ad esempio: -w $var; restituisce TRUE se il file associato
alla
variabile è scrivibile.
- -d, ad esempio: -d $var; restituisce TRUE se alla variabile
è
associata una directory.
- -f, ad esempio: -f $var; restituisce TRUE se alla
variabile
è associato un file regolare.
- -T, ad esempio: -T $var; restituisce TRUE
se alla variabile
è associato un file di testo .
- -e, ad esempio: -e $var;
restituisce TRUE se alla variabile è
associato un file esistente.