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";
}