Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: how do I read this Perl code..

by cephas (Pilgrim)
on Dec 13, 2006 at 21:14 UTC ( [id://589680]=note: print w/replies, xml ) Need Help??


in reply to how do I read this Perl code..

I'll skip the File::Temp speech, everyone else has mentioned. However there is probably a bug in the larger picture of the code here. First, as someone mentioned, there's nothing to keep a directory from existing by that name, the -f return false. The other is that now that you've got a filename that isn't use, what are you doing with it? There's nothing that guarantees it doesn't get used by another process between the time that you generate it and the time you do something with it. If you are wanting to create a tmp file (without using File::Temp for some reason), then try:
#!/usr/bin/perl use strict; use Fcntl; my $TMPDIR = "/tmp"; my $limit = 99999; my $md; do { my $tmpname = int(rand($limit)); $md = "$TMPDIR/runitout_$tmpname"; } until(sysopen(my $fd, $md, O_CREAT|O_EXCL));

This will loop until it can create the file in question, and the O_EXCL means that the create will fail if that file is already in existence.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (2)
As of 2024-04-19 18:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found