Модуль Log::Log4perl
предлагает несколько вариантов.
Можно выбрать вывод сообщения об ошибке как в STDERR, так и в файл журнала.
my $logger = Log::Log4perl->init ( 'log.conf' );
# Configuration file controls what to output, like time, line number, class...
$logger->get_logger ( 'Hello::World' ); # Define which class logger to use
.
.
.
open my $fh, '<', $file
or $logger->logdie ( "Log the demise: $!" ); # ... and die;
Хотя это требует немного больше усилий с точки зрения настройки, его гибкость раскрывает большой потенциал.