大文字小文字を区別しない
iオプションを使います。
use strict; use warnings; foo('from aaa'); foo('From bbb'); foo('FROM ccc'); foo('form ddd'); sub foo { my $val = shift; print "[$val]\n"; if ($val =~ m/^from/i) { print " match a\n"; } if ($val =~ m/^from/) { print " match b\n"; } } 実行結果です。 [from aaa] match a match b [From bbb] match a [FROM ccc] match a [form ddd]正規表現中に(?i)と書く方法もあります。
use strict; use warnings; foo('from aaa'); foo('From bbb'); foo('FROM ccc'); foo('form ddd'); sub foo { my $val = shift; print "[$val]\n"; if ($val =~ m/(?i)^from/) { print " match a\n"; } if ($val =~ m/^from/) { print " match b\n"; } } 実行結果です。 [from aaa] match a match b [From bbb] match a [FROM ccc] match a [form ddd]
関連項目
・mマッチ演算子・s置換演算子
・大文字小文字変換