Hatena::Groupperl

Perl Tech RSSフィード

2011-01-02

qw()の変な使い方 はてなブックマーク -  qw()の変な使い方 - Perl Tech

なんと、以下のコードはきちんと動作します。

foreach my $str qw(a b c d) {
    print $str, "\n";
}

結果

a
b
c
d

perlのパーサーが内部でqw(a b c d)を(qw(a b c d))のように解釈するため、foreachに必須のはずの括弧が省略できてしまうのです。この奇妙な動作はperl5135deltaにあるように5.13以降のperlでは廃止されます。絶対に使わないでください。(個人的には、このままのほうが便利じゃね?と思う・・・)