Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^3: Assigning printf to a variable

by pryrt (Monsignor)
on Oct 20, 2021 at 14:56 UTC ( #11137805=note: print w/replies, xml ) Need Help??

in reply to Re^2: Assigning printf to a variable
in thread Assigning printf to a variable

But in general, when wanting to capture STDOUT/ERR, I'd recommend Capture::Tiny.

But can Capture::Tiny be used to capture the STDOUT/ERR of the same script that's running?

Answering my own question, I see the tee and related functions, but that requires that you put the whole script (or at least the parts you want to capture) inside the block that tee is calling. Would there be an equivalent to my Re^2: Errors uncaught by CGI::Carp solution, which captured the STDOUT for the whole script, then did two things with that output during the END (process to one location and dump to the old STDOUT)? Though I guess that use Capture::Tiny; my @capture = tee { ...whole script here... }; process(@capture); isn't that different from BEGIN { duplicate } END { process(...) } ... whole script here .... I guess I'm just trying to see what other ways are possible in the TIMTOWTDI: so would tee {original script contents} be the canonical way with Capture::Tiny, or is there something that involves less wrapping?

(Sorry for the rambling, self-responding post)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2022-05-18 07:28 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (68 votes). Check out past polls.