in reply to Re: Re: Re: Re: Re: assigning flat file dbs to arrays
in thread assigning flat file dbs to arrays
Foreach element in @sidx, keep it (save it in @resultline) if it matches any test in @skeyw. Foreach element in @sidx2, keep it (save it in @resultline2) if it matches any test in @premiumkeyw.Well that's pretty easy then.
Hope it helps# Remove empty strings from @skeyw and @premiumkeyw @skeyw = grep {$_ ne ""} @skeyw; @premiumkeyw = grep {$_ ne ""} @premiumkeyw; # Build a big regular expression out of @skeyw # for faster matching. my $skeyw_regexp = join('|', @skeyw); $skeyw_regexp = qr/$skeyw_regexp/; # Repeat for @premiumkeyw my $premium_regexp = join('|', @premiumkeyw); $premium_regexp = qr/$premium_regexp/; # Foreach line in @sidx foreach my $line (@sidx) { # Keep it (save it in @resultline) if it matches # any test in @skeyw. if($line =~ /$skeyw_regexp/) { # do something with search results push @resultline, $line; $icnt++; # do you need this? } } # Foreach element in @sidx2 foreach my $line (@sidx2) { # Keep it (save it in @resultline2) if it matches # any test in @premiumkey. if($line =~ /$premium_regexp/) { # do something with search results push @resultline2, $line; $icnt++; # do you need this? } }
jarich
|
|---|