J0ax88 has asked for the wisdom of the Perl Monks concerning the following question:
I want to use a regular expression stored in an environment variable. I have this one-liner that works fine without using an environment variable:
perl -00 -ne 'print if /--Begin--/ && /--End--/' file.txt
file.txt contains:
Hello World --Begin-- Cat and Dog --End-- other stuff This is a test Good Bye
The above one-liner prints out what I want:
--Begin-- Cat and Dog --End--
Now I want to do the same thing except put the regular expression in an environment variable:
export REX="/--Begin--/ && /--End--/" echo $REX /--Begin--/ && /--End--/
So I tried doing this:
perl -00 -ne 'BEGIN {$rex = $ENV{REX}} print if qr($rex)' file.txt
and also this:
perl -00 -ne 'BEGIN {$rex = qr($ENV{REX})} print if $rex' file.txt
But it always prints out the whole file. Any help would be appreciated.
Back to
Seekers of Perl Wisdom