式修飾子
繰り返し処理においても実行する処理が1つの場合は式修飾子が使用できます。利用できるのはwhile修飾子、until修飾子、そしてforeach修飾子です。書式は次のようになります。
真の時に実行する処理 while 条件式; 真の時に実行する処理 until 条件式; 実行する処理 foreach 条件式;
なおforeach文の場合は制御変数とリストを指定して利用しますが、foreach修飾子では制御変数を指定できませんので省略した場合に使用される「$_」が制御変数として使用されます。
foreach修飾子を使った例としては次のようになります。
my @fruit = ("りんご", "メロン", "イチゴ"); print "$_¥n" foreach @fruit;
これはforeach文を使って次のように記述した場合と同じです。
my @fruit = ("りんご", "メロン", "イチゴ"); foreach (@fruit){ print "$_¥n"; }
foreach修飾子はforeach文を使っても記述できますが、1つの処理だけを行う場合には便利な記述方法です。また逆にforeach修飾子では条件式が真の時に実行できる処理は1つだけです。while修飾子やuntil修飾子の場合も同様です。
サンプルプログラム
では簡単なプログラムで確認して見ます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my @fruit = ("りんご", "メロン", "イチゴ"); print "$_¥n" foreach @fruit;
上記を「test11-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
( Written by Tatsuo Ikura )