On Wed, Jan 09, 2002 at 05:05:34PM -0000, Parker, wrote:
> Hi all,
> 
> I have an array of filenames.
> 
> I want to read through each of the files.
> 
> I want to try and match a word at the beginning of the line, if the word is
> not matched, I want to display an error and stop processing.
> 
> SO...
> 
> 
> foreach @array_of_files
> {
>       unless (-r $_ && -w $_)
>       {
>               print"***Error : Cannot find file $_\n";
>       }
>       OPEN(FILE, $_) or die etc.......
>       while (<FILE>)
>       {
>               /^\b$word\b/ && $wordfound++;
>       }
>       close (FILE);
>       unless ($wordfound)
>       {
>               print"*** Error : word not found in file $_\n";
>       }
>       $wordfound = 0;
> }

> Oh, and if anyone can suggest any 'better' ways of doing the above, please
> let me know.

$/=undef; # slurp mode

for (@array_of_files) {

        my @wordfound =();

        print"***Error : Cannot find file $_\n" unless -r && -w;

        open(FILE, $_) or die "$_:$!\n";
        my $file_contents =<FILE>; # get all the file

        @wordcount = ($file_contents =~/^\b($word)\b/g);
        close (FILE);

        print"Word found $#wordfound times in file $_\n";
}
-- 
 Frank Booth - Consultant
Parasol Solutions Limited.
(www.parasolsolutions.com)

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to