制御構造
アセンブラの魔女 ⧫ Perl ⧫ 制御構造
アセンブラの魔女 ⧫ Perl ⧫ 制御構造
if, unless
while
for
foreach
label continue
do
goto
next
last
redo
ラベル
スクリプトの終了 - exit
 ifステートメントの意味はC言語のifとほぼ同じです。 if文の代わりに、unlessを使うこともできます。unlessはifと条件式の論理が逆に扱われます。 実行部(ブロック)はつねに{}で囲む必要があります。
if ( expression ) block
if ( expression ) block else block
if ( expression ) block elsif block ... else block
expressionには条件(式)を指定します。blockは実行部です({}で囲む必要があります)。  while文の意味はC言語のwhile文とほぼ同じです。
[ label ] while ( expression ) block
[ label ] while ( expression ) block continue block
 continueの後のブロックは繰り返しのたびに実行されるブロックです。continueブロックはnextによって ループの処理を途中からスキップした場合も実行されます。  for文の意味はC言語のfor文とほぼ同じでです。
[ label ] for ( expression; expression; expression ) block
 foreach文では、括弧の中に指定したリスト(配列)listの要素が順に変数varに代入された後blockが実行されます。 リストの要素が無くなったらループを終了します。
[ label ] foreach var ( list ) block
foreach $file ( <*> )
{
  # カレントディレクトリ内のすべてのファイルに対して操作を行う
}
foreach の後の変数の指定を省略すると$_が使用されます。
[ label ] block continue block
 if、unless、while、until等のステートメントは、最初に条件の評価が行われますが、doステートメントと併用すると、条件の評価を繰り返し構造の最後におくことができます。
do { print "xx = $xx\n"; } if ($xx == 5);
do { print "xx = $xx\n"; } unless ($xx == 5);
do { print "xx = $xx\n"; $xx++; } while ($xx < 5);
do { print "xx = $xx\n"; $xx++; } until ($xx > 5);
 Perlにはgotoステートメントはありませんが、関数としてgotoが用意されており、任意のラベルに制御を移すことができます。  PerlではキーワードcontinueはC/C++等の他の一般的な言語のcontinueとは異なった意味に用いられます。その代わりに、C/C++のcontinueに対応するnextが用意されています。  lastステートメントは、C/C++のbreak文に相当し、ループを終了します。  redoステートメントはnextと同様にループの先頭に戻りますが、このときループ条件を評価せずに、continueブロックも評価しません。つまりブロック内の先頭行にジャンプするということです。  ラベルはC言語と同じように名前の後にコロンをつけます。
name:
 スクリプトを終了するにはeit関数を使います。
exit ( status_code );
 status_codeはステータスコードとして、呼び出し側に返ります。
▼ Property
記事情報
datePublished2011-01-01
dateModified2018-07-25
authorアセンブラの魔女
headlinePerlの制御構造についてのページです
keywordsPerl
keywords制御構造
keywordswhite
keywordsif
keywordsforeach
keywordsdo
keywordsgoto
keywordsnext
keywordslast
keywordsredo
keywordsexit
publisher name= wiredFish, logo.name= wiredFish, logo.url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png size= 208 pixel x 50 pixel
image.url url= https://books-nekoya.jp/Programming/chigu-hagu-title-01.png , size= 208 pixel x 50 pixel