Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: File open issue

by MidLifeXis (Monsignor)
on Dec 19, 2012 at 19:43 UTC ( #1009614=note: print w/replies, xml ) Need Help??


in reply to File open issue

The AM has one reasonable solution, but it assumes that the only failure mode that the $nofile variable applies to is the case where the file is not readable at the time it is tested.

  • There is a race condition between the test and the open call, and
  • the file may fail to open for other reasons.

If you can live with those conditions, great. Otherwise, another solution (similar to yours) might be:

my $nofile; my $reason; my $tempfile = "$tempdir/$ENV{'REMOTE_ADDR'}"; my @tmpfile; if ( open( my $temp_fh, "<", $tempfile ) ) { @tmpfile = <$temp_fh>; close( $temp_fh ); # You don't need this, $temp_fh should be limit +ed in scope } else { $nofile = 1; $reason = $!; # update: original typo == $@ }

--MidLifeXis

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1009614]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (9)
As of 2017-09-25 22:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (291 votes). Check out past polls.

    Notices?