Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

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


Comment on Re: File open issue
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1009614]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2016-05-24 08:42 GMT
Find Nodes?
    Voting Booth?