$ strace -e open perl -e 'open $f, "+>", undef' 2>&1 | tail -n 1
open("/tmp/PerlIO_vfNALU", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) =
+3
but of course it is soon deleted:
$ perl -le 'open $f, "+>", undef;
print readlink "/proc/self/fd/" . fileno $f'
/tmp/PerlIO_vJg2Uf (deleted)
(or
$ perl -le 'open $f, "+>", undef;
print readlink "/proc/self/fd/" . fileno $f'
/tmp/.nfs0004821b00000353
if run on a machine where /tmp is mounted under nfs.)
Whatever, all this is at best fragile and tricky. This interesting open feature is best suited for a file to write stuff into, to recover it later. For your application any of the other suggestions you got would be probably preferable.
I just mentioned this temp file strategy option because IMHO it would deserve to be better known. |