> perl -we'use strict; use P; my $re_str=qr{([0-6BS])}; $_="B"; my $ans; if (eval m{$re_str}) { $ans=$1; } P "ans=%s, re_s=%s", $ans, $re_str; ' ans=B, re_s=(?^:([0-6BS])) #### my $re_str="qr{([0-6BS])}"; $_="B"; my $ans; if (eval m{$re_str}) { $ans=$1; } P "ans=%s, re_s=%s", $ans, $re_str;' #### my $re_str="qr{([0-6BS])}"; $_="B"; my $ans; if (eval P (q(my $re=%s; m{$re}), $re_str) ) { $ans=$1; } P "ans=%s, re_s=%s", $ans, $re_str;' #### my $re_str="qr{([0-6BS])}"; $_="B"; our @ans = m{$re_str}; P "ans=%s, re_s=%s", \@ans, $re_str;'