Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

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

by ybiC (Prior)
on Oct 29, 2002 at 01:22 UTC ( #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.
    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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://208650]
[holli]: You see, I have a friend whose daughter has been damaged seriously because she wasn't vaccinated against measles. (Her mother being anti-vaxx).
[LanX]: Contrary to Olivia newton John I don't like physical confrontations ...
[LanX]: Oh, you spread measles in your saliva?
[LanX]: ... and why did you bite hos daughter?
[LanX]: *his
[holli]: And this guy was also Anti-Vaxx and I just snapped. I shoed him all over the yard
[james28909]: biting between the legs? now thats my kind of religion.
[holli]: and back into the building, saw him later peeking out of the window looking scared. It was hilarious.
[LanX]: Let's get physical...
[james28909]: wish i could stay and chat. i have an unsuspecting client to give an estimate to. muhhahaha

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (12)
As of 2017-12-13 18:04 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (373 votes). Check out past polls.