Ricerca…


Condizionali

Perl supporta molti tipi di istruzioni condizionali (dichiarazioni basate su risultati booleani). Le dichiarazioni condizionali più comuni sono if-else, a meno e le dichiarazioni ternarie. given dichiarazioni given sono introdotte come un costrutto simile a switch da linguaggi derivati ​​da C e sono disponibili nelle versioni Perl 5.10 e successive.

Dichiarazioni If-Else

La struttura di base di un'istruzione if è come questa:

if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK

Per semplici istruzioni if, il se può precedere o succedere al codice da eseguire.

$number = 7;
if ($number > 4) { print "$number is greater than four!"; }

# Can also be written this way
print "$number is greater than four!" if $number > 4;

Loops

Perl supporta molti tipi di costrutti di loop: for / foreach, while / do-while e until.

@numbers = 1..42;
for (my $i=0; $i <= $#numbers; $i++) {
    print "$numbers[$i]\n";
}

#Can also be written as
foreach my $num (@numbers) {
    print "$num\n";
}

Il ciclo while valuta il condizionale prima di eseguire il blocco associato. Quindi, a volte il blocco non viene mai eseguito. Ad esempio, il seguente codice non verrebbe mai eseguito se il filehandle $fh era il filehandle per un file vuoto o se era già esaurito prima del condizionale.

while (my $line = readline $fh) {
    say $line;
}

I loop do / while e do / until , d'altra parte, valutano il condizionale dopo ogni volta che il blocco viene eseguito. Quindi, un do / while o un do / until loop viene sempre eseguito almeno una volta.

my $greeting_count = 0;
do {
    say "Hello";
    $greeting_count++;
} until ( $greeting_count > 1)

# Hello
# Hello


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow