Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

comment on

( [id://3333] : superdoc . print w/replies, xml ) Need Help??
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.

In reply to Re^3: Redirecting/Restoring of Memory Files (lack in documentation) by Discipulus
in thread Redirecting/Restoring of Memory Files by ELISHEVA

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.