Вы могли бы tie
это делать все, что вы хотите.См perltie
:
{
package StderrToLogDispatch;
sub TIEHANDLE {
my ($pkg) = @_;
return bless {}, $pkg;
}
sub PRINT {
my @msg = @_;
chomp $msg[-1];
# I don't use Log::Dispatch, so don't know if this is even close
Log::Dispatch->logToFile(@msg);
}
}
tie *STDERR, 'StderrToLogDispatch';
print STDERR 'foo'; # invokes StderrToLogDispatch->PRINT