Reputation: 4099
If I run this script:
use Cwd;
print "$^O\n";
print cwd;
The output is:
C:\tmp>perl tmp.pl
msys
/c/tmp
How can I get windows style path C:\tmp
?
Upvotes: 1
Views: 477
Reputation: 385657
You're not really on Windows, or $^O
would be MSWin32
. You're inside the MSYS unix emulation environment, so it's no surprise you have unix-style paths. For a version of Perl that runs on Windows natively, use ActivePerl or Strawberry Perl.
Upvotes: 2
Reputation: 1771
It's because you're using built-in perl
of msys
, and this version of perl
will definitely give a Linux-style path. If you installed Active Perl
and use Active Perl
to launch your script, the path would be Win32-style:
$ /bin/perl5_8.exe path.pl
msys
/c/tmp
$ /c/ActivePerl/bin/perl.exe path.pl
MSWin32
c:/tmp
You could use alias in your bash profile to redirect perl
to ActivePerl
:
alias perl /c/ActivePerl/bin/perl.exe
Then:
$ which perl
perl is /c/ActivePerl/bin/perl
Upvotes: 4