在Perl脚本中处理Unix命令执行

时间:2018-07-12 14:53:33

标签: perl

我正在创建一个Perl脚本,在其中我使用isql命令连接到notifyix数据库。有时在查询中出现问题时,由于该脚本未引发任何错误或无法退出该命令,该命令已被挂起。 我正在使用以下命令来连接notifyix db:

`isql db <<EOF
unload to data DELIMITER ','
select* from tablename
EOF`;

如果该命令不起作用,如何处理脚本退出,如何检查命令状态。

1 个答案:

答案 0 :(得分:2)

这里最好的答案是停止做您正在做的事,并安装DBD::Informix。我知道您认为那里存在一个无法克服的障碍,但是许多现代Perl编程只能将有用的CPAN模块集中在一起,因此您真正需要能够随时随地从CPAN安装东西。从长远来看,要打破这种僵局,您需要做的一切都是值得的。

通过查看Perl的error variables中的值,您可能可以执行所需的操作。我认为您可能需要$?。但是请注意,您需要$? >> 8才能获得实际的退出代码。