我有一个Perl脚本,调用另一个脚本。我使用反引号调用它,并将参数传递给该脚本,一切正常。
`CQPerl call_script.pl $agr1 $agr2 $arg3`;
但请建议是否有更好的方法来做到这一点。我该如何检查脚本出错是因为调用脚本还是被调用的脚本。我应该如何从调用脚本本身进行此检查?
我有一个Perl脚本,调用另一个脚本。我使用反引号调用它,并将参数传递给该脚本,一切正常。
`CQPerl call_script.pl $agr1 $agr2 $arg3`;
但请建议是否有更好的方法来做到这一点。我该如何检查脚本出错是因为调用脚本还是被调用的脚本。我应该如何从调用脚本本身进行此检查?
system
函数。请看文档获取有关错误处理的所有详细信息,包括示例。qx{}
当你想在程序终止后一次性读取所有输出时exec
当你希望将进程作为另一个程序继续运行——如果成功,永远不会返回system
当你只对命令的成功或失败感兴趣时open
当你想将信息管道传输到或从命令中获取信息时do
和 require
在此执行另一个 Perl 脚本。类似于 C 的 #include
open
),这样你就可以访问执行程序的STDIN
、STDOUT
和STDERR
。有关高级信息,请参阅perlipc的适当部分。system
调用的STDOUT / STDERR是否真的会丢失,还是有机会捕获它? - MattTT检查Perl特殊变量$?
的值,以确定是否出现错误。
autodie
!https://dev59.com/9E_Ta4cB1Zd3GeqPDsE1 - daxim