正規表現でeval使わないでマッチ演算子を変数で指定する方法ってどうすればよかと?
Jcode.pmのソース見るとeval使ってるんだけど実行時コンパイルで遅いから使わない方法を模索してます。

match('abcdefgfedcba', 'b', 'ig');
sub match {
my ($str, $pattern, $opt) = @_;
$str =~ /$pattern/$opt;
}

みたいなことをしたいっす。
XS使ってperl apiを呼ぶしかないかな?
よろすくおねがいします。