in reply to Re^4: Dumping regexp for Perl versions earlier than 5.14
in thread Dumping regexp for Perl versions earlier than 5.14

c:\@Work\Perl>perl -wMstrict -le "print qq{version $]}; ;; my $rx = '(?:(?i)b)'; print qq{match x: '$1'} if 'aaBbBcc' =~ /($rx+)/; ;; my $ry = '(?i-mxs:b)'; print qq{match y: '$1'} if 'aabBbcc' =~ /($ry+)/; " version 5.008009 match x: 'BbB' match y: 'bBb'
(Same output under version 5.14.4.)

IOW, instead of storing the stringized representation of a  qr// object, define and store a string that represents a fully backward-compatible regex that can be compiled into a  m// s/// qr// object of any Perl version as needed. Or: why do you need to start with a  qr// that may tied, however loosely, to a particular version? That's the bit I don't grok.


Give a man a fish:  <%-(-(-(-<

Replies are listed 'Best First'.
Re^6: Dumping regexp for Perl versions earlier than 5.14
by perlancar (Hermit) on Jan 06, 2015 at 07:55 UTC
    I want to be able to accept regex strings as well as regexp objects.