Perl返回MSWin32,而我的笔记本电脑是64位

amp*_*ent 2 perl operating-system system-calls windows-7 windows-7-x64

print "$^O\n";
Run Code Online (Sandbox Code Playgroud)

回报

MSWin32
Run Code Online (Sandbox Code Playgroud)

但是,我的笔记本电脑是64位.任何想法Perl系统调用是否检索错误数据(通过它或Windows'错误)或是否按设计?

amo*_*mon 5

Win32只是标准的Windows API.这与32位/ 64位处理器或OS变体几乎没有关联.

来自perldoc -v $^O:

在Windows平台上,$ ^ O不是很有帮助:因为它总是"MSWin32",所以它不能区分95/98/ME/NT/2000/XP/CE/.NET.使用Win32 :: GetOSName()或Win32 :: GetOSVersion()(请参阅Win32和perlport)来区分变体.

在我的系统上,它也不是很有帮助; 只返回一个平原linux;-)