Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: printing to STDOUT and a Logfile (cross-platform sub)

by ybiC (Prior)
on Oct 29, 2002 at 01:22 UTC ( [id://208650]=note: print w/replies, xml ) Need Help??


in reply to printing to STDOUT and a Logfile

Here's one cross-platform way to simultaneously print to STDOUT and a filehandle.

# print messages to both console and logfile sub PrintLogCon { print @_; print(LOG @_) or die "Error printing to $logfile: $!"; }

and you'd call it thusly:

use warnings; use strict; open(LOG, ">$logfile") or die "Error opening $logfile: $!"; ... ... ... do->stuff; do->it(again) or PrintLogCon("Error: $!"); do->stuff(more); ... ... ... close LOG or die "Error closing $logfile: $!"; __END__
Phat props to mad monk Petruchio for showing me this a while back.
    cheers,
    Don
    striving toward Perl Adept
    (it's pronounced "why-bick")

Update2: consistant-ized scalar for logfile
Update1: or use IO::Tee as shown by fine monk jsprat.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-19 23:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found