Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: filtering my own output

by RhetTbull (Curate)
on Sep 06, 2001 at 19:50 UTC ( #110602=note: print w/ replies, xml ) Need Help??


in reply to filtering my own output

I recommend Filter::Handle. I think it will do exactly what you want. I used it for the very same purpose -- to log the output a script without changing print statements, etc. Here's a sample script.

#!/usr/local/bin/perl use warnings; use strict; use Filter::Handle qw/subs/; #open the logfile open (LOGFILE,">>test.log") || die "open: $!"; #set up a sub to filter our output #print @_ to LOGFILE then also print it to STDERR Filter \*STDERR, sub { local $_ = "@_"; print LOGFILE scalar(localtime), ": $_"; $_ +}; #test it out by printing something to STDERR print STDERR "hello world\n"; #turn off filtering UnFilter \*STDERR; close LOGFILE || die "close: $!";
When run, this produces the following output:
/home/rhet/misc> ./filter.pl hello world /home/rhet/misc> cat test.log Thu Sep 6 11:46:24 2001: hello world /home/rhet/misc>


Comment on Re: filtering my own output
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (8)
As of 2015-07-04 20:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls