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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Using a regex saved in an environment variable
by kcott (Archbishop) on May 03, 2012 at 02:33 UTC | |
|
Re: Using a regex saved in an environment variable
by bobf (Monsignor) on May 03, 2012 at 02:13 UTC | |
|
Re: Using a regex saved in an environment variable
by JavaFan (Canon) on May 03, 2012 at 08:28 UTC | |
|
Re: Using a regex saved in an environment variable
by J0ax88 (Initiate) on May 04, 2012 at 01:50 UTC |