$| = 1;#flush the buffer
warn "Starting Program";
print "Hello World\n";
warn "Ending Program";
####
perl -w warn.pl
Starting Program at warn.pl line 2.
Hello World
Ending Program at warn.pl line 4.
##
##
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($ERROR);
use Capture::Tiny 0.12 qw( capture_stderr );
my $errors = capture_stderr{
system( 'warn.pl' );# Your favorite system call here
};
map{ ERROR $_ } split "\n", $errors;
##
##
perl -w WarnCapture.pl
Hello World
2012/09/14 16:34:20 Starting Program at C:\Scripts\warn.pl line 2.
2012/09/14 16:34:20 Ending Program at C:\Scripts\warn.pl line 4.