perlマッチングはイタレータ
~/perl $ perl -MData::Dumper -e '$a="a123 n456";@b = ($a=~ m/\d+/g);print Dumper(\@b);' $VAR1 = [ '123', '456' ]; #マッチの結果は配列で受け取れる。 ~/perl $ perl -MData::Dumper -e '$a="a123 n456";while($a=~ m/(\d+)/g ){print Dumper($_)}' $VAR1 = undef; $VAR1 = undef; #S_ではダメ。 ~/perl $ perl -MData::Dumper -e '$a="a123 n456";while($a=~ m/(\d+)/g ){print Dumper($1)}' $VAR1 = '123'; $VAR1 = '456'; #イタレートする場合は$1$2,...,$Nではなく、$1のまま