Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Perl :: I Cicli :: Indice Perl

I Cicli

Categoria: Perl Inserito il: 28-12-2005 Stampa (19236 click)

I cicli, detti anche istruzioni di iterazione, sono dei costrutti nativi che ci consentono di eseguire ciclicamente e quindi di ripetere determinati comportamenti; per ciclo, intendiamo quindi la ripetizione di certi comandi per un determinato numero di volte.

Il ciclo for è sicuramente una delle istruzioni di iterazione maggiormente impiegata, anche perché non si tratta di un costrutto proprio soltanto del linguaggio Perl. Presentiamo di seguito un breve esempio della funzione svolta da for:

#!/usr/local/bin/perl

@famiglia = ("padre", 

"madre", "figlio", "figlia");

for ($i=0; $i<=$#famiglia; $i++)
{
  print 

"$famiglia[$i]n";
}
Nell'esempio proposto, abbiamo utilizzato un ciclo for con lo scopo di stampare a video tutti gli elementi di un array.

Un ciclo for si ottiene utilizzando una sintassi che comprende il costrutto for seguito da tre istruzioni che hanno il compito di definire il ciclo; abbiamo poi le istruzioni che dovranno essere eseguite ripetutamente.
Analizziamo le tre istruzioni per la definizione del ciclo:
  1. la prima, nel nostro caso "$i=0", stabilisce un valore iniziale; essa deve essere eseguita una sola volta ad inizio ciclo.
  2. La seconda, nel nostro caso "$i<=$#famiglia" ("$#famiglia" indica l'ultimo valore dell'array), è chiamata condizione di terminazione; essa deve essere valutata prima di ogni iterazione e restituisce FALSE quando il ciclo si interrompe.
  3. La terza, nel nostro caso "$i++", svolge la funzione di incrementare il valore dato alla prima; essa viene rieseguita ad ogni iterazione fino a quando la condizione di terminazione non restituisce FALSE e il cilclo si ferma.
Nel nostro esempio, la variabile "$i" (contatore), assume all'inizio un valore pari a "0"; ad ogni ciclo il contatore subisce un incremento unitario ("$i++"); quando il contatore raggiunge un valore pari al numero degli elementi dell'array ("$i<=$#famiglia") il ciclo termina.

Un'altro costrutto d'iterazione da analizzare è foreach, per molti versi simile a for; attraverso foreach è possibile inserire di seguito all'interno di una variabile tutti gli elementi di un array.
Proponiamo quindi un esempio sull'utilizzo di questo nuovo costrutto:
#!/usr/local/bin/perl

@famiglia = ("padre", "madre", "figlio", "figlia");

foreach 

$famigliare (@famiglia)
{
  print "$famigliaren";
}
Come si avrà avuto modo di notare, le differenze anche sintattiche tra foreach e for sono veramente minime. Nell'esempio proposto, ad ogni ripetizione del ciclo la variabile "$famigliare" assume un valore pari a quello dell'elemento estratto in quel momento dall'array "@famiglia".

Il costrutto di iterazione while, considerato come un particolare tipo di if ripetuta, consente di ciclare un determinato blocco di istruzioni fino a quando una condizione risulta vera, nel momento in cui essa dovesse restituire FALSE il ciclo si bloccherebbe; se la condizione dovesse risultare falsa prima di iniziare il ciclo questo non potrà essere eseguito.
Vediamo un esempio:
#!/usr/local/bin/perl

@famiglia = ("padre", "madre", 

"figlio", "figlia");

while (@famiglia)
{
  $famigliare = shift @famiglia;
  print 

"$famigliaren";
}
Grazie a while verrà visualizzato tutto il contenuto in valori dell'array famiglia.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Operare sulle directory con la Shell di Linux
Grazie a specifici comandi da lanciare tramite linea di comando, possiamo utilizzare la Shell di Linux per svolgere numerose operazioni... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti