我在打开管道以重定向dir命令的输出时遇到了麻烦。该错误发生在svn.pm中,它是Windows调试SDK的一部分,旨在支持subversion存储库的源索引。它出错的部分是:
my $hProcess;
if ( ! open($hProcess, "dir $SourceRoot 2>&1 |") ) {
::warn_message("Unable to resolve directory: $!");
return();
}
[下载]
$SourceRoot
是现有目录。我通过$!
收到的错误是"没有这样的文件或目录"。上面脚本的全部目的(我没有编写它,我不是Perl开发人员)是将所有源文件放在目录中并处理它们。有什么想法吗?
答案 0 :(得分:2)
为什么不改为:
my @directory_entries = glob ( "$SourceRoot/*" );
或者:
opendir ( my $dir_handle, $SourceRoot );
while ( my $entry = readdir ( $dir_handle ) ) {
print $entry;
}