in reply to Re: Re: Re: Checking Perl script on server
in thread Checking Perl script on server
Logically it seems like you want to check to see if the file you're currently examining has data that needs to be updated (you're saving the filename in @files for later processing) -- but you're pushing the filename onto your list once for each match in the file! Once you find a match in a particular file you should (based on my understanding of your goal) (1) push the filename onto your to-be-processed stack, and then (2) move on to the next file. So:while($line = <F>) { for $hit ($line =~ /matchdata/gi) { push @files, $name; } } close F;
Note that I dropped the global flag for the match operator, too -- you just want to know if there's something there, anywhere, to be fixed later, and then move on.while($line = <F>) { if ($line =~ /matchdata/i) { push @files, $name; last; } } close F;
Naturally, if I misunderstand your goals this could be way off base :)
|
|---|