Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Answer: How do I print formatted text to a scalar instead of a filehandle?

( #720318=categorized answer: print w/ replies, xml ) Need Help??

Q&A > input and output > How do I print formatted text to a scalar instead of a filehandle? contributed by MidLifeXis

From output generated by Test::Inline
package Catch; sub TIEHANDLE { my($class, $var) = @_; return bless { var => $var }, $class; } sub PRINT { my($self) = shift; ${'main::'.$self->{var}} .= join '', @_; } sub OPEN {} # XXX Hackery in case the user redirects sub CLOSE {} # XXX STDERR/STDOUT. This is not the behavior we want +. sub READ {} sub READLINE {} sub GETC {} package main; # pre-5.8.0's warns aren't caught by a tied STDERR. $SIG{__WARN__} = sub { $main::_STDERR_ .= join '', @_; }; tie *STDOUT, 'Catch', '_STDOUT_' or die $!; tie *STDERR, 'Catch', '_STDERR_' or die $!;

Comment on Answer: How do I print formatted text to a scalar instead of a filehandle?
Download Code
Re: Answer: How do I print formatted text to a scalar instead of a filehandle?
by MidLifeXis (Prior) on Oct 29, 2008 at 19:53 UTC
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2014-12-21 10:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (104 votes), past polls