cwd和gwtcwd在windows上返回一个linux风格的路径

时间:2013-09-17 08:48:18

标签: perl path getcwd cwd

如果我运行此脚本:

use Cwd;
print "$^O\n";
print cwd;

输出结果为:

C:\tmp>perl tmp.pl
msys
/c/tmp

如何获得Windows样式路径C:\tmp

2 个答案:

答案 0 :(得分:4)

这是因为您正在使用内置perl msys,而此版本的perl肯定会提供Linux风格的路径。如果您安装了Active Perl并使用Active Perl来启动脚本,则路径将为Win32样式:

$ /bin/perl5_8.exe path.pl
msys
/c/tmp

$ /c/ActivePerl/bin/perl.exe path.pl
MSWin32
c:/tmp

您可以在bash个人资料中使用别名将perl重定向到ActivePerl

alias perl /c/ActivePerl/bin/perl.exe

然后:

$ which perl
perl is /c/ActivePerl/bin/perl

答案 1 :(得分:2)

您实际上并不在Windows上,或$^O将是MSWin32。你在MSYS unix仿真环境中,所以你有unix风格的路径就不足为奇了。对于本机在Windows上运行的Perl版本,请使用ActivePerlStrawberry Perl