Zoeken…


Voorwaardelijke

Perl ondersteunt vele soorten voorwaardelijke uitspraken (uitspraken die zijn gebaseerd op booleaanse resultaten). De meest voorkomende voorwaardelijke verklaringen zijn if-else, tenzij en ternaire uitspraken. given uitspraken worden geïntroduceerd als een schakelachtig construct uit C-afgeleide talen en zijn beschikbaar in versies Perl 5.10 en hoger.

Indien-anders-verklaringen

De basisstructuur van een if-statement is als volgt:

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

Voor eenvoudige if-statements, kan de if voorafgaan aan of slagen voor de uit te voeren code.

$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 ondersteunt vele soorten lusconstructies: for / foreach, while / do-while en totdat.

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

De while-lus evalueert de voorwaardelijke voordat het bijbehorende blok wordt uitgevoerd. Dus soms wordt het blok nooit uitgevoerd. De volgende code zou bijvoorbeeld nooit worden uitgevoerd als de bestandshandle $fh de bestandshandle was voor een leeg bestand, of als deze al was uitgeput vóór het voorwaardelijke.

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

De do / while en do / until lussen, anderzijds, evalueert de conditionele na elk blok uitgevoerd. Een do / while of een do / until lus wordt dus altijd minstens één keer uitgevoerd.

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow