Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

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 == $@ }


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1009614]
and God said, "Let Newton be!"...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2018-03-18 23:48 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (231 votes). Check out past polls.