To get the output of STDERR, eval comes along with a neat variable that captures the errors during the evaluation process.
To capture STDOUT, you have two options:
- Log STDOUT from the beginning
- Print it a file. Then open that file and print it to the screen. This is what I hacked up and I am *certain* there is a better way for one of these.
Log from beginning: BEGIN{
open(STDOUT,">stdout.log")||die"$!";
}
#2 #!/usr/bin/perl
use strict;
open(LOG,"log.txt") ||die"$!";
select LOG;
#...do stuff here
close LOG;
select STDOUT;
# I love ar0n :)
my $thing = do { local @ARGV = "foo.txt"; <> };
print $thing;
That way you get the stuff printed to the file and to STDOUT. I am sure there is a better way to do it. Monks, enlighten me(us). :)
UPDATE: I just noticed I really messed up on the question. Forgive me.
Tiptoeing up to a Perl hacker. Dave AKA damian
-
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.
|