Bucles
Els bucles son blocs de codi que s'executen vàries vegades. Normalment s'utilizen per a accions repetitives, recòrrer estructures de dades, etc.
for/foreach
Un bucle foreach
s'utilitza normalment per iterar sobre una llista o vector.
Per exemple:
foreach my $element (1, 2, 3, 4, 5) { say $element; }
Evidentment, també podeu passar-hi un vector:
my @vector = (1 .. 5); foreach my $element (@vector) { say $element; }
Com heu vist, creem un variable $element
especial que conté cada l'element del vector en cada iteració. Tingueu present que si canvieu $element
esteu canviant el valor del vector:
my @vector = (1 .. 5); foreach my $element (@vector) { $element *= 2; } foreach my $element (@vector) { say $element; }
Exercici
Imprimiu únicament els valors parells de 0
a 10
:
foreach my $element (...) { if (...) { ... } }
while
while
és un bucle més avançat que itera mentre una expressió és certa.
my $i = 10; while ($i > 0) { say $i; $i = $i - 1; }
Quan l'expressió $i > 0
és falsa, el bucle s'atura.
Exercici
Imprimiu només els valors senars de 0
a 10
:
my $i = ; while ($i ...) { if (...) { ... } }
Sortir d'un bucle
Sovint voldreu sortir d'un bucle sense esperar a que finalitzi. Per fer-ho, podeu utilitzar el mot last
:
my $i = 0; while ($i < 100) { last if $i == 10; say $i; $i = $i + 1; }
Aquest bucle no iterarà 100
vegades per què el finalitzem quan $i
és 10
.