In Perl esistono sostanzialmente due strutture di controllo per realizzare
cicli iterativi: la struttura while e la struttura for.
La struttura while ci permette di ripetere un certo blocco di
istruzioni finché l'espressione logica che controlla il ciclo risulta vera.
Quando dovesse risultare falsa il flusso del programma uscirebbe fuori dal
ciclo. Se l'espressione è falsa già prima di entrare nel ciclo while
allora questo non verrà eseguito neanche una volta. La sintassi è la seguente:
while |
(espressione) { |
|
blocco di istruzioni |
} |
Vediamo tre esempi di come può essere utilizzata la struttura iterativa
while. Il primo è il più semplice: il ciclo viene ripetuto fino a
quando la variabile flag $n non assume il valore zero.
#!/usr/local/bin/perl
$n=10;
while ($n > 0) {
$n--;
print "$n ";
}
Il secondo esempio legge e stampa il contenuto di un file:
#!/usr/local/bin/perl
open(IN, "< /tmp/dati") || die "Impossibile aprire il file\n\n";
while ($r = <IN>) {
print $r;
}
close(IN);
Infine il terzo esempio visualizza il contenuto di una lista:
#!/usr/local/bin/perl
@frutta = ("mele", "pere", "pesche", "albicocche");
while (@frutta) {
$frutto = shift @frutta;
print "$frutto\n";
}