Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^4: Syncing perltie filehandle STDOUT STDERR and system call

by karthikm897 (Initiate)
on Dec 22, 2012 at 15:50 UTC ( #1010025=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Syncing perltie filehandle STDOUT STDERR and system call
in thread Syncing perltie filehandle STDOUT STDERR and system call

Hi jandrew, I tried with IO::Callback, this din't work again. try this code

use IO::Callback; # Here's the coderef my $code = sub { my $str = shift; print STDERR "This is really bad: $str"; }; # Turn it into a filehandle opened in write mode my $fh = IO::Callback->new('>', $code); # Select that filehandle (makes it the default for print, say, etc). select($fh); # Print something - it gets passed to the coderef! print "Hello World\n"; system("date");
date output doesn't get default error meta text. Also this has been mentioned in Bugs section I already have a large number of pre-written scripts and trying to capture print STDERR from them, not the system generated error signals alone. So I would like to perform similar callback function for STDERR as well. Thanks


Comment on Re^4: Syncing perltie filehandle STDOUT STDERR and system call
Download Code
Re^5: Syncing perltie filehandle STDOUT STDERR and system call
by jandrew (Hermit) on Dec 26, 2012 at 18:00 UTC

    karthikm897 I think you have an architecture problem. It appears that you are trying to splice perl into the middle of system interactions ('date' with no passed value) Whenever possible you are better off sticking to pure system calls or writing everything in perl. To choose the perl route, do some investigation around the functionality you are trying to implement not the call/response management of that functionality from the system. perl is amazingly powerful and you will probably not need a system call at all. (System calls in perl code are often categorized as "code smell")

    With that said if you still want to follow system capture as a tactic, check out this stackoverflow search.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (13)
As of 2014-07-25 17:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (174 votes), past polls