Quando si parla di
istruzioni condizionali o di costrutti per il controllo
del flusso, chi conosce un minimo di sintassi dello
scripting in
qualsiasi linguaggio pensa immediatamente ad if ed else.
Essi consentono di
intervenire sul flusso delle istruzioni di un
applicativo a seconda che una determinata condizione sia verificata o
meno.
La sintassi da utilizzare per effettuare controlli su condizione tramite
if ed
else è la seguente:
if (condizione) {
istruzioni da eseguire se si verifica la
condizione
} else {
istruzioni da eseguire se non si verifica la condizione
}
Se (if) la
condizione delimitata dalle parentesi tonde viene
verificata (è TRUE), allora verrà eseguito il blocco
d'istruzioni
successivo all'if e racchiuso fra le parentesi graffe; altrimenti
(else)
verrà eseguito il blocco di istruzioni successivo ad
else.
Una volta passati i controlli
stabiliti nei due blocchi, il flusso dei
dati riprenderà con le istruzioni successive alla chiusura
dell'ultima
parentesi graffa.
else è un costrutto opzionale, possiamo inserirlo o meno a
seconda
che si voglia o no stabilire un'istruzione alternativa a quella indicata
per la condizione.
In mancanza di un'alternativa, se viene soddisfatta la clausola stabilita
nella condizione verrà
eseguito il blocco di istruzioni delimitato dalle
parentesi graffe successive alla condizione, quindi, l'esecuzione
dell'applicativo proseguirà seguendo le istruzioni succesive alla
parentesi graffa chiusa. In caso
contrario, se la condizione è FALSE,
allora le istruzioni racchiuse tra le parentesi graffe non verranno
eseguite ed il flusso continuerà ignorando quanto stabilito per la
condizione.
L'istruzione condizionale if può essere espressa anche in modi
differenti con grandi vantaggi in termini di quantità di codice da
digitare; un caso particolare
è quello riferito alla sintassi con
notazione post-fissa, per cui gli elementi del costrutto potranno
presentarsi nel modo seguente:
istruzione if condizione;
In questo caso non verranno utilizzate
parentesi, nè tonde nè graffe,
quindi, la singola istruzione verrà eseguita soltanto nel caso
in cui si
verifichi la condizione stabilita.
Volendo proporre un esempip di applicazione pratica delle
istruzioni di
controllo, è importante dire che esse possono essere utilizzate anche in
associazione ad
operatori per affinare la condizione stabilita:
if (!$var)
# ! richiede l'inesistenza di $var
{ print
"Prima condizione verificatan"; }
# invece se
elsif ($var == $var_1)
{ print "Seconda condizione
verificatan"; }
# invece se
elsif ($var == $var_2)
{ print "Terza condizione verificatan"; }
# se non si
verificano le condizioni:
else { print "Nessuna condizione verificatan"; }
Nello script appena proposto
abbiamo alcune importanti novità da
segnalare: la condizione è stabilità dall'operatore di
negazione
"!"; l'istruzione subalterna alla prima condizione
comprente una newline
("n") che consente di
stabilire una nuova linea una volta stampato a video il
risultato.
Abbiamo poi due condizioni introdotte dal costrutto elsif che
saranno vere soltanto se
la prima condizione sarà verificata.
Infine, else propone un'istruzione alternativa che produrrà
il suo
output soltanto dopo che (e se) i precedenti controlli avranno restituito
FALSE. |