Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re^3: Redirecting/Restoring of Memory Files (lack in documentation)

by Discipulus (Canon)
on Jun 26, 2015 at 09:19 UTC ( #1132106=note: print w/replies, xml ) Need Help??

in reply to Re^2: Redirecting/Restoring of Memory Files
in thread Redirecting/Restoring of Memory Files

Effectively i had no success in append mode (all tests on windows as above) as suggested by Anonymous.

The possibility to open an handle to a string is in the Perl Faq and also the possibility to dup a filehandle is in the Perl Faq. Also, as you already said, is worth to read open and search for the phrase "Perl scalars".

The crucial point seems to be spotted by Anonymous here above: the '>&' or '>&=' trick works only with descriptors and in your case ELISHEVA we have no descriptor:
# perl -e ' open $h,">", \$s or die; print qq(fileno: [).fileno ($h).q +q(]\n);' fileno: [-1]
And fileno doc says it explicitly:
Returns the file descriptor for a filehandle, or undefined if the filehandle is not open. If there is no real file descriptor at the OS level, as can happen with filehandles connected to memory objects via open with a reference for the third argument, -1 is returned.
So it seems only an hedge case worth to be inserted in the open documentation and in the relevant Faq

As side note i remember the $^F or maximum file descriptor. How an handle opened on a reference acts in respect of this? is close_on_exec set in the right way? or this will result in zombie handles?
Might be worth to clarify also this in the docs.

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2023-06-02 19:45 GMT
Find Nodes?
    Voting Booth?

    No recent polls found