Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Regexp experts, come to rescue!

by kilinrax (Deacon)
on Feb 01, 2001 at 19:47 UTC ( [id://55720]=note: print w/replies, xml ) Need Help??


in reply to Regexp experts, come to rescue!

One problem is you are performing the second and third regexps on the default variable '$_'. I.e. what your code is actually doing is this:
if ($MType =~ /-[45][15j]/ig || $_ =~ /[123][a46]u/ig || $_ =~ /7[9l][hb]/ig ) { print "\"red\""; } else { print "\"#CCFFCC\""; }
I would also offer '$MType =~ /^(-(41|55|jj)|(1a|24|36)u)$/' as a regexp that would match all the cases you list (and no others).
However, if they are the only cases you want to match, creating a hash and checking for the existence of keys would be more efficient:
my %matches; foreach (qw( -41 -55 -jj 1au 24u 36u)) { $matches{$_} = ''; } if (exists $matches{$MType}) { print "\"red\""; } else { print "\"#CCFFCC\""; }

Replies are listed 'Best First'.
Re: Re: Regexp experts, come to rescue!
by jeroenes (Priest) on Feb 01, 2001 at 20:17 UTC
    In that line, you may be better of using
    sub match{ my $MType = shift; $_ eq $MType and return 1 for ( qw(-41 -55 -jj 1au 24u 36u )); }

    Hope this helps,

    Jeroen
    "We are not alone"(FZ)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2024-04-25 19:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found