【发布时间】:2013-02-27 15:43:57
【问题描述】:
我有点难以理解为什么用于获取文件的 csh 命令在命令行中可以正常工作,但在合并到 Perl 脚本中时却无法正常工作。
my @envvar = ();
if (-e $ENV{WSDIR}."/<script>.csh") {
@envvar = `csh -c "cd $WSDIR ; source <script>.csh ; env"`;
}
当我运行 Perl 脚本时,我收到如下错误 script.csh: No such file or directory,而从终端作为 csh 命令运行时按预期工作。在 Perl 的 csh 命令中使用环境变量有什么限制?我该如何克服这个问题。
【问题讨论】:
-
始终使用
use strict; use warnings;!它会抓住这个的。 -
对于反引号 - 我总是避免使用它们并使用 qx(csh...) 代替;对我来说更具可读性。