in reply to Finding problem with finding keywords in arrays / files

The statement matches fine. I've reworked your code a little to be a little more Perlish and compact (and to avoid files for test code), but the regex is still there as in your code and it does work. Consider:

#!/usr/local/bin/perl -w use strict; my @data = qw(analysis data power seek true); my @keywd = qw(analysis analyzing applications co-principal completed computer computing consulting data ); for my $element (@data) { for my $i (0 .. $#keywd) { if ($element =~ m/$keywd[$i]/i) { print "$i\n"; } } }

Prints:

0 8

However, if you are not interested in the element index, but just in testing for the match, I'd be more inclined to use a hash:

... my %keywdHash; @keywdHash{@keywd}= (); # Use a hash slice to initialise the hash for my $element (@data) { if (exists $keywdHash{lc $element}) { print "$element\n"; } }

Prints:

analysis data

DWIM is Perl's answer to Gödel

Replies are listed 'Best First'.
Re^2: Finding problem with finding keywords in arrays / files
by akirostar (Novice) on Sep 17, 2006 at 13:12 UTC
    thx to all great advisors.. i looking into the code now.. thanks for the help!