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
|
|---|
| 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 |