#=pod Principalele mecanisme iterative implementate în PERL Exemplele sunt doar diagrame sintetice, nu pot fi executate while EXPR until EXPR for LIST foreach LIST LABEL while (EXPR) BLOCK LABEL while (EXPR) BLOCK continue BLOCK LABEL until (EXPR) BLOCK LABEL until (EXPR) BLOCK continue BLOCK LABEL for (EXPR; EXPR; EXPR) BLOCK LABEL for VAR (LIST) BLOCK LABEL for VAR (LIST) BLOCK continue BLOCK LABEL foreach (EXPR; EXPR; EXPR) BLOCK LABEL foreach VAR (LIST) BLOCK LABEL foreach VAR (LIST) BLOCK continue BLOCK LABEL BLOCK LABEL BLOCK continue BLOCK do BLOCK while (EXPR) do BLOCK until (EXPR) while(dacă condiția este TRUE){ instrucțiune instrucțiune -> modificarea stării condiției ... instrucțiune } until(dacă condiția este FALSE){ instrucțiune instrucțiune -> modificarea stării condiției ... instrucțiune } do{ instrucțiune instrucțiune -> modificarea stării condiției ... instrucțiune }while(dacă condiția este adevărată); do{ instrucțiune instrucțiune -> modificarea stării condiției ... instrucțiune }until(dacă condiția este FALSE); for (start; condiție; expresie){ instrucțiune instrucțiune ... instrucțiune } foreach (@array){ instrucțiune instrucțiune ... instrucțiune } #=cut # ATENȚIE la această implementare a lui for =pod use strict; use warnings; my @ORIGIN = ('ORIGIN','ACTGTT','GGTGT','ORIGIN','ATGCATT','ORIGIN','GTGGGG'); my $final = $#ORIGIN; for (my $index=0; $index <= $final; $index++) { if ($ORIGIN[$index] =~ m/ORIGIN/) { splice (@ORIGIN, $index, 1); $final--; # for pornește cu $final cunoscut dar, pe parcurs, splice micșorează @ORIGIN, # deci indexul final trebuie actualizat. } print "$ORIGIN[$index]\n"; } =cut # Perl gains the experimental keywords: given , when , default , continue, break. # https://perldoc.perl.org/perlsyn.html