【问题标题】:cwd and gwtcwd returns a linux style path on windowscwd 和 gwtcwd 在 windows 上返回一个 linux 风格的路径
【发布时间】:2013-09-17 08:48:18
【问题描述】:

如果我运行这个脚本:

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

输出是:

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

我怎样才能得到windows风格的路径C:\tmp

【问题讨论】:

标签: perl path getcwd cwd


【解决方案1】:

因为你使用的是msys的内置perl,而这个版本的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

【讨论】:

    【解决方案2】:

    您并不是真正在 Windows 上,否则 $^O 将是 MSWin32。您在 MSYS unix 仿真环境中,因此您拥有 unix 风格的路径也就不足为奇了。对于在 Windows 上本机运行的 Perl 版本,请使用 ActivePerlStrawberry Perl

    【讨论】:

      猜你喜欢
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-02
      • 2011-05-09
      • 1970-01-01
      相关资源
      最近更新 更多