我有一个调用另一个脚本的 perl 脚本。我使用反引号调用它并将参数传递给该脚本,它工作正常。
`CQPerl call_script.pl $agr1 $agr2 $arg3`;
但请建议是否有另一种更好的方法。如何检查脚本是否由于调用脚本或被调用的脚本而出错。如何从调用脚本本身进行检查?
我有一个调用另一个脚本的 perl 脚本。我使用反引号调用它并将参数传递给该脚本,它工作正常。
`CQPerl call_script.pl $agr1 $agr2 $arg3`;
但请建议是否有另一种更好的方法。如何检查脚本是否由于调用脚本或被调用的脚本而出错。如何从调用脚本本身进行检查?
如果您不想进行错误检查,反引号可能是一种错误的方法。您可能想使用该system
功能。有关错误处理的所有详细信息,请参阅文档,包括示例。
Perl 有许多可能执行其他脚本/命令:
qx{}
当您想在程序终止后一次读取所有输出时exec
当你不想作为另一个程序继续你的过程时——如果成功就永远不会返回system
当您只对命令的成功或失败感兴趣时open
当您想通过管道将信息传入或传出命令时do
并require
在此处执行另一个 Perl 脚本。类似于 C 的#include
open
您可以访问和执行您执行的程序。有关高级信息,请参阅perlipc的相应部分。STDIN
STDOUT
STDERR
并且始终使用这些调用的多参数形式来避免 shell 转义(可能很烦人并且非常不安全)。
检查 perl 特殊变量的值$?
以确定是否有错误。