私はperlスクリプトの一部で、現在、このコードを持っている(正常に動作)タイニーてみてください::とモジュール:: Runtimeを使用してのtry-catchを使用して:回避警告
try {
no strict 'refs';
require_module $modules{$action_name};
if (&{"FFTG::${actiontype}::run"}($action, $fs, $log)) {
$log->res("SUCCESS");
} else {
if ($action->{mandatory}[0] == 1) {
$log->res("FAIL, exiting.");
last ACTION;
} else {
$log->res("FAIL, but not mandatory, continuing..");
}
}
}
catch {
$log->res("MODULE NOT FOUND");
print "no module found for action '$actiontype', unable to process this action\n";
#warn $_;
};
が、残念ながら、スクリプトが完璧に動作
starting transfer ..
no module found for action 'Transfer', unable to process this action
no module found for action 'Transfer', unable to process this action
no module found for action 'Archive', unable to process this action
Exiting subroutine via last at ./bin/fftgv2.pl line 130.
Exiting eval via last at ./bin/fftgv2.pl line 130.
Exiting subroutine via last at ./bin/fftgv2.pl line 130.
ending transfer
場合でも、私はそれが「ダーティ」にこれらのエラーを表示するには見つける:スクリプトの出力は、出力の途中でこれらの3つのエラーを(すべての行がサブルーチンを終了から始まる)を示し、標準出力。
これを取り除く方法はありますか? (このrequire_moduleのものでスクリプトを終了させたくないので、/ etcなどの場合は使用できません)。 私はちょうど私たちは、これらの警告は名前のグループに属していることがわかりperldoc perldiag
でこれらの警告
おかげで再び について
あなたが書いたコードのものではないのですか、それとも自分のコードベースのものではありませんか? – simbabque
https://grep.metacpan.org/search?size=20&q=via+last&qd=&qft= – simbabque
私は彼らが何かから来ていると思います。しかし、私はまだこれを完全に理解していません。 – simbabque