On Tue, 4 Mar 2003, Paul Johnson wrote:
>
> George P. said:
>
> > On Mon, 3 Mar 2003, Scott R. Godin wrote:
> >
> >>
> >> my @scores;
> >> my @files = glob "/home/johann/smail/Spam/*";
> >> foreach my $file (@files) {
> >> open(IN, "<", $file) or die "Cannot open file $file: $!";
> >> while (<IN>) {
> >> next unless /^Subject:/;
> >> push @scores, $_;
> >> last; # found what we need, no need to go further with
> >> this file
> >> }
> >> close IN or die "Cannot close filehandle for $file: $!";
> >> }
> >
> > I noticed that you've said
> > "open () or die()"
> > and
> > "close() or die()"
> >
> > If open fails, the program will kill itself, so the close function
> > will never be called.
> > Therefore there is no need to say "close() or die()"
>
> I don't follow this logic.
>
> If you are reminding us that since the file manipulation is within a loop
> the open automatically closes the previous file and therefore you can get
> away without doing an explicit close, then this is quite correct. But I
> don't think this is what you are saying.
>
> If you are saying that because the file was successfully opened the close
> cannot fail, then this is not correct. Now, it might not fail very often,
> and even when it does you might not care, but then again you might, and I
> normally do. If something goes wrong, I like to know about it.
I can't think of any instance when open() will return a true value
and still fail to open an handle to the file.
If such a thing does happen (even if it is 1 out of a million times)
then I too will have to adopt this habit.
Can you explain a situation when such a thing can happen??
George P.
>
> > You've done it thrice in this email, so I'm presuming
> > that it's a habitual thing.
>
> And a good habit, IMHO.
>
> > Putting it won't hurt, but it's not useful either.
>
> I hope to have convinced you otherwise.
>
> > Just thought I should point it out :)
>
> Me too :)
>
> --
> Paul Johnson - [EMAIL PROTECTED]
> http://www.pjcj.net
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]