複数の正規表現式で文字列からトークンを切り出したいことがある。しかし、以下のコードは動かない。無限ループになってしまう。 #!perl -w # THIS DOES NOT WORK!!! use 5.10.0; use strict; use utf8; my $s = 'foo bar baz FOO BAR BAZ'; while( 1 ) { if( $s =~ /\b (f..) \b/xmsig) { # first matching expression say $1; } elsif( $s =~ /\b (b..) \b/xmsig) { # second matching expression say $1; } else { die 'finished'; } } これは[twitter:@akajiro]さんと[twitter:@hio]さんに教えてもらった結果、解