Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Regexp experts, come to rescue!

by kilinrax (Deacon)
on Feb 01, 2001 at 19:47 UTC ( #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,

    "We are not alone"(FZ)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2022-05-23 12:25 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (82 votes). Check out past polls.