I haven't hit on the correct answer (yet), but in the meantime, you might consider using STDERR for the part that follows the use of that (ugly) module. Since you're not redirecting STDERR, it will continue to show on the console; maybe you won't really need STDOUT at that point.

update:Aha! chromatic nailed it (I'm still working on my typeglob skills...) -- here's a working example:

print "We are about to go into that ugly module...\n"; { local *STDOUT; open( STDOUT, ">/tmp/junk.stdout" ); print "This goes to junk.stdout\n"; } print "Okay, that mess is over with.\n";
You'll see that only the first and third prints go to the console, and you can check the contents of /tmp/junk.stdout to confirm where the middle print went.

In reply to Re: Opening and Closing STDOUT by graff
in thread Opening and Closing STDOUT by Anonymous Monk

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.