Perl Language
制御文
サーチ…
条件式
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
/ while
とdo
/ 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