in reply to Re: Matching against list of patterns
in thread Matching against list of patterns

To get the matched pattern matched text you can simply do:
my $pattern = join '|', map "($_)", @patterns; ... if ($line =~ /($pattern)/i) { print "matched $1\n"; }
But be carefull if you want to get another matched text in this line. Somewhat it eats up all $1,$2,$3. Use $+ to get the last matched text of the line.

Schuk

Edit: Sorry HV I should learn to read more carefully.

Replies are listed 'Best First'.
Re^3: Matching against list of patterns
by hv (Prior) on Nov 18, 2004 at 13:07 UTC

    That shows you what text matched, not which pattern matched it.

    There's nothing wrong with it as a way of finding out what text matched, but in the node you replied to I was specifically trying to address this aspect of the root node: the whole point of this excercise is to figure out WHICH regexp matched.

    Hugo