http://qs321.pair.com?node_id=150683


in reply to Need help comparing against a set of regexps

my @regexes = map qr/$_/, ('hello(\w+)', 'HELLO(\w+)', Hello(\w+)'); for my $re (@regexes) { if ($string =~ $re) { print "$string matched $re\n"; } }

[ ar0n -- want job (boston) ]

Replies are listed 'Best First'.
Re: (ar0n) Re: Need help comparing against a set of regexps
by Anonymous Monk on Mar 10, 2002 at 07:22 UTC
    Is there a way to do this in Perl5? I don't have the qr// thing.

      qr was added in Perl 5.005_03. If you're running anything older than that, you should consider an upgrade, as previous versions are considered buggy.


      my @regexes = ('HELLO(\w+)', 'hello(\w+)', 'Hello(\w+)'); for my $re (@regexes) { $re =~ s!/!\/!; # escape delimiters my $eval = '$string =~ /' . $re . '/;'; if ( eval $eval ) { print "$string matches $re\n"; } }
      It's an ugly hack, and I would very much prefer it if you would promote world peace, fight hunger and help stop global warming by upgrading your version of Perl.

      [ ar0n -- want job (boston) ]