Perl chdir不起作用

以前的post可能是有用的: Perl系统()调用失败,返回码为65280

再一次,我已经多次使用这个代码,但是在这里不起作用。 我已经从PATH移动了所有其他perl实例。

资源:

$targetDir = "M\:\\bldforge_AOMS_DEV"; print ("targetDir=$targetDir\n"); chdir($targetDir) or die "Cant chdir to $dir $!"; $current_dir = `cd`; print "\nCurrent dir = $current_dir\n" 

输出:

 Z:\>ccperl test.pl targetDir=M:\bldforge_AOMS_DEV Current dir = 

Solutions Collecting From Web of "Perl chdir不起作用"

要确定你确实在一个ClearCase视图中,我将使用cleartool pwd

 $current_dir = `cleartool pwd`; 

即使在Windows上也能工作:

cleartool pwd命令列出当前的工作目录。
此命令旨在用于交互式cleartool和multitool会话以及模拟交互式会话的批处理文件或shell脚本中。

你正在与cd混合pwdcd只打印到STDERR ,即静默地成功。

我的观点是,在你的情况下, cd是没有用的。

要获得当前的工作目录,你应该使用Cwdgetdcwd函数:

 use Cwd; my $current_dir = getdcwd 'M:';