Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: regex with arrays and variables

by jwkrahn (Monsignor)
on Apr 25, 2013 at 18:19 UTC ( #1030713=note: print w/ replies, xml ) Need Help??

in reply to regex with arrays and variables

if ($i =~ m/@array2/) { print "$i is in array2 - skipping\n";

That regular expression is m/foo bar quux/ and english for that is "array2 is in $i - skipping\n".    It won't work because you are looking for the string "foo bar quux".

my $regex = "("; foreach (@array2) { $regex .= $_ . "|"; } $regex .= ")";

$regex now contains the string "(foo|bar|quux|)" which says to match EITHER "foo" OR "bar" OR "quux" OR "", and EVERY string will match "".

You need something like:

my $regex = "("; $regex .= join "|", @array2; $regex .= ")";
Comment on Re: regex with arrays and variables
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1030713]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2016-05-28 08:42 GMT
Find Nodes?
    Voting Booth?