2
print "$^O\n";

返回

MSWin32

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

4

2 回答 2

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;-)

于 2013-02-14T19:48:22.293 回答
3

$^O始终MSWin32在 Windows 上。

如果您想了解更多关于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";
于 2013-02-14T20:46:33.440 回答