$ perl -E " $_ = 123; m/\d(?{ warn pos })/" 1 at (re_eval 5) line 1. $ perl -E " no re qw/eval/; $_ = 123; m/\d(?{ warn pos })/" 1 at (re_eval 5) line 1. $ perl -E " $_ = 123; $f = qr/\d(?{ warn pos })/; m/$f/;" 1 at (re_eval 5) line 1. $ perl -E " no re qw/eval/; $_ = 123; $f = qr/\d(?{ warn pos })/; m/$f/;" 1 at (re_eval 5) line 1. #### $ perl -E " $_ = 123; $f = '(?{ warn pos })'; m/\d$f/; " Eval-group not allowed at runtime, use re 'eval' in regex m/\d(?{ warn pos })/ at -e line 1. $ perl -E " $_ = 123; $f = '(?{ warn pos })'; $g = qr/\d$f/; m/$g/" Eval-group not allowed at runtime, use re 'eval' in regex m/\d(?{ warn pos })/ at -e line 1.