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

时间:2013-02-14 19:34:30

标签: perl windows-7 operating-system windows-7-x64 system-calls

print "$^O\n";

返回

MSWin32

但是,我的笔记本电脑是64位的。知道Perl系统调用是否检测到错误的数据(通过它或Windows的错误)或是否按设计进行?

2 个答案:

答案 0 :(得分:5)

Win32只是标准的Windows API。这与32位/ 64位处理器或操作系统变体的连接很少。

来自perldoc -v $^O

  

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

在我的系统上,它也不是很有帮助;只返回普通linux; - )

答案 1 :(得分:3)

Windows上

$^O始终为MSWin32

如果您想了解运行perl的系统的更多信息,可以使用

use Win32;
print Win32::GetOSDisplayName(), "\n";
print Win32::GetOSName(), "\n";
print Win32::GetOSVersion(), "\n";

如果您想了解构建perl的架构,可以使用

use Config qw( $Config );
print "$Config{archname}\n";

如果您想知道整数的大小,可以使用

use Config qw( $Config );
print $Config{ivsize}*8, " bits\n";