Sök…


villkors

Perl stöder många typer av villkorade uttalanden (uttalanden som är baserade på booleska resultat). De vanligaste villkorade uttalandena är om-annars, om inte, och ternära uttalanden. given uttalanden introduceras som en switchliknande konstruktion från C-härledda språk och är tillgängliga i versionerna Perl 5.10 och högre.

Om-andra uttalanden

Grundstrukturen för ett if-uttalande är så här:

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

För enkla if-uttalanden kan if föregå eller lyckas koden som ska köras.

$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 stöder många typer av slingkonstruktioner: för / förhand, medan / gör-medan och tills.

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

Samtidigt slingan utvärderar villkoret innan det tillhörande blocket körs. Så ibland körs blocket aldrig ut. Till exempel kommer följande kod aldrig att köras om filhandtaget $fh var filhandtaget för en tom fil, eller om det redan var uttömt före villkoret.

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

do / while och do / until loopar å andra sidan utvärderar villkoren efter varje gång blocket körs. Så en do / while eller en do / until slinga körs alltid minst en gång.

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow