Diary

Perl覚え書き


『「リストへの代入をscalar contextで評価すると、代入の右辺によって生み出される要素の数が返される。』
これを利用したのがsn_dairy.cgiの以下の記述です。

unless (($HoD->{form}{year},$HoD->{form}{month}) = $HoD->{form}{list} =~ /^(\d{4})(\d{2})$/) {
&error("エラーです\n",$HoD->{config});
}

$HoD->{form}{list} =~ /^(\d{4})(\d{2})$/
という式でマッチしてcaptureされた結果をlist contextで評価するので、
$HoD->{form}{year}と$HoD->{form}{month}にマッチした値がそれぞれ代入されます。
ここでマッチがされないと、何の結果も返されないのでその数は0となり、unlessでの評価の際に偽となります。
2003年08月07日(木) No.33
Comment(0)

この記事へのコメントは以下のフォームからどうぞ

Name
E-Mail
URL
感想
1000文字まで
Icon Icon
投稿キー 投稿キーを右に記入して下さい
Pass
No.PASS
No.USERPASS