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
In reply to Re: Finding problem with finding keywords in arrays / files
by GrandFather
in thread Finding problem with finding keywords in arrays / files
by akirostar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |