Я хочу перенаправить сообщения die
в отдельный файл, чтобы впоследствии сравнить этот файл, чтобы определить, что пошло не так.Как я могу перенаправить вывод функции die в файл в Perl?
Но этот код дает мне ошибки:
$ cat test.pl
use strict;
use warnings;
my $log = "msglog.log";
die $log "DEAD$!";
$ perl test.pl
Missing comma after first argument to die function at test.pl line 5, near ""DEAD$!";"
Execution of test.pl aborted due to compilation errors.
$
Я не хочу, чтобы сделать 2>
от вызывающего абонента. Есть ли способ перенаправить их из сценария?
Это также перенаправляет предупреждения(), предупреждения и все, что было напечатано в STDERR. Не только это, если кто-то сделал это правильно, переопределив обработчик __DIE__, он может даже не перенаправлять сообщения die(). –