サーチ…


条件式

Perlは多くの種類の条件文(ブール結果に基づく文)をサポートしています。最も一般的な条件文は、if-else、unless、およびternary文です。 givenステートメントは、C派生言語のswitch-likeコンストラクトとして導入され、Perl 5.10以上のバージョンで利用可能です。

If-Elseステートメント

if文の基本構造は次のようになります。

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

単純なif文の場合、ifは実行されるコードの前または後に置くことができます。

$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;

ループ

Perlはfor / foreach、while / do-while、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";
}

whileループは、関連するブロックを実行するに条件を評価します。したがって、ブロックが実行されないことがあります。たとえば、ファイルハンドル$fhが空のファイルのファイルハンドルであった場合、または条件付きファイルの前にすでに使い果たされていた場合、次のコードは決して実行されません。

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

do / whiledo / untilループ、一方、ブロックが実行されるたびにした後 、条件を評価します。したがって、 do / whileまたはdo / untilループは常に少なくとも1回実行されます。

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow