Perl/Istruzioni decisionali: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 231:
 
unless ( open ( FILE , "<pippo.txt" ) ) { print "non posso aprire pippo.txt"; exit 10; }
 
===Ma il comodo Switch ?===
Purtroppo in modo "nativo" non esiste un costrutto switch ma l'autore del linguaggio propone questa soluzione utilizzando le etichette ed i blocchi <- rif interno ->:
 
my $a = "aaa";
my $trovata = 0; # se trovata = 1 allora è stata trovata !
 
SWITCH:
{
if ( $a eq "aaa") { $trovata = 1; last SWITCH; }
if ( $a eq "AAA") { $trovata = 1; last SWITCH; }
$trovata = 0;
}
print $trovata."\n";
 
E quindi : si definisce un blocco con l'etichetta SWITCH
se viene soddisfatta la condizione "aaa" o "AAA" allora viene impostata $trovata a 1 e quindi si esce con l'istruzione last SWITCH.
 
Se non viene trovata , la variabile $trovata viene messa a 0 (lo era già ma meglio indicarlo in modo esplicito).
Si sarebbe potuto scrivere:
 
my $a = "aaa";
my $trovata = 0; # se trovata = 1 allora è stata trovata !
 
if ( $a eq "aaa")
{ $trovata = 1; }
elsif ( $a eq "AAA")
{ $trovata = 1; last SWITCH; }
else
{ $trovata = 0; }
print $trovata."\n";
 
Tuttavia è sicuramente più immediata la prima forma.
 
Anche in questo caso è emerso che in Perl è possibile scrivere in più forme una istruzione ...
 
[[Categoria:Linguaggio Perl|Le istruzioni:DECISIONALI]]