If you're replacing, there was a successful match. This is a bug.
Testing reveals this bug has been fixed:
$ perl -v | grep 'This is' This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-li +nux-thread-multi $ perl -E'$_ = "abcde"; s/b../==${^MATCH}==/p; say' a====e $ perl -E'$_ = "abcde"; $sub="b.."; s/$sub/==${^MATCH}==/p; say' a==bcd==e
$ perl -v | grep 'This is' This is perl 5, version 18, subversion 0 (v5.18.0) built for x86_64-li +nux-thread-multi $ perl -E'$_ = "abcde"; s/b../==${^MATCH}==/p; say' a==bcd==e $ perl -E'$_ = "abcde"; $sub="b.."; s/$sub/==${^MATCH}==/p; say' a==bcd==e
In reply to Re^2: ${^MATCH} sometimes fails in target of substitution?
by ikegami
in thread ${^MATCH} sometimes fails in target of substitution?
by raygun
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |