print "$^O\n";
MSWin32
然而,我的笔记本电脑是64位的。任何想法,如果Perl系统调用检索错误的数据(由其或Windows的错误)或是它的设计?
print "$^O\n";
MSWin32
然而,我的笔记本电脑是64位的。任何想法,如果Perl系统调用检索错误的数据(由其或Windows的错误)或是它的设计?
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
;-)
我只需要区分操作系统是Win还是Linux,所以Win32是好的(我的脚本在32和64位拱),但它只是引起我的注意,所以我想问。我真的不需要'Win32 :: GetOSName()'功能,只是好奇 – amphibient 2013-02-14 20:01:12
$^O
在Windows上始终为MSWin32
。
如果您想了解更多关于这perl
运行,你可以,如果你想知道哪个perl
建建筑使用
use Win32;
print Win32::GetOSDisplayName(), "\n";
print Win32::GetOSName(), "\n";
print Win32::GetOSVersion(), "\n";
系统,你可以使用
use Config qw($Config);
print "$Config{archname}\n";
如果你想知道整数的大小,你可以使用
use Config qw($Config);
print $Config{ivsize}*8, " bits\n";
downvote,why ? – amphibient 2013-02-14 19:43:52
你可能会发现这个有趣的:http://stackoverflow.com/a/2030280/329921 – 2013-02-14 20:01:44