On 26 Apr 2007, at 14:03, Clinton Gormley wrote:
> > perldoc perlre [look for Backtracking]
>
> this doesn't require backtracking to work
>
> just do my ($match) = ($string =~ /(google|yahoo)/i)

    my %despatch = (
        'yahoo'  => sub { print "Yahoo!\n"; },
        'google' => sub { print "Google!\n"; },
    );

    my $match = join('|', map {quotemeta} keys %despatch);
    my $re = qr/($match)/i;       # or whatever

    print "Using: $re\n";
    for my $t ('I like yahoo', 'and also google') {
        $despatch{lc($1)}->() if $t =~ $re;
    }

--
Andy Armstrong, hexten.net



Reply via email to