in reply to Re^4: no way it's not a bug of Perl
in thread I thought I found a bug of Perl
s/(?:)// will do nothing (or rather, replace one-zero length string with another zero-length string). So, if you have a possibly-empty pattern in a variable, you could use
s/(?:$pat)//
or
my $re = qr/$pat/; s/$re//
The latter was buggy before 5.18 as it resulted in the same as s/// when $pat contained an empty string.
In Section
Seekers of Perl Wisdom