Martin,
I recommend you keep the regex more detailed so you don't match on, for
instance, 'yahoo.com?q=google' and so on.
my $string = 'google.com?q=yahoo+ask.com+msn';
my $searchfuncs = {google => sub { ... },
yahoo => sub { ... },
ask => sub { ... },
msn => sub { ... }};
if ($string =~ /(google|yahoo|ask|msn)\.com\//) {
&{$searchfuncs{$1}}($string); # for instance
}
BTW I didn't test all this, I'm just writing it in email on the fly. Never
just cut and paste anything without triple checking it.
--
Dodger
-----Original Message-----
From: Martin Moss [mailto:[EMAIL PROTECTED]
Sent: Thursday, April 26, 2007 2:30 AM
To: modperl
Subject: regex quickie
I'm looking for a regex which will help me do this..
$string = 'google.com/?q=test';
$pattern_match = 'google|yahoo|msn';
What I would like to do is test if $string contains
one of the patterns in the pattern match and then
carry out a function based upon which pattern is
matched...
e.g.
if ($string =~ /$pattern_match/i)
{
my $matched_pattern = ####???? ($_?)
}
Any ideas?
sorry for being slightly not mod perl specific...
___________________________________________________________
Yahoo! Mail is the world's favourite email. Don't settle for less, sign up
for
your free account today
http://uk.rd.yahoo.com/evt=44106/*http://uk.docs.yahoo.com/mail/winter07.htm
l