Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl返回MSWin32,而我的笔记本电脑是64位的_Perl_Windows 7_Operating System_Windows 7 X64_System Calls - Fatal编程技术网

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

Perl返回MSWin32,而我的笔记本电脑是64位的,perl,windows-7,operating-system,windows-7-x64,system-calls,Perl,Windows 7,Operating System,Windows 7 X64,System Calls,返回 print "$^O\n"; 然而,我的笔记本电脑是64位的。你知道Perl系统调用是否检索到错误的数据(通过它或Windows的bug)或者它是按设计的吗?Win32只是标准的Windows API。这与32位/64位处理器或操作系统变体几乎没有联系 从perldoc-v$^O: 在Windows平台上,$^O不是很有用:因为它总是“MSWin32”,所以它不能区分95/98/ME/NT/2000/XP/CE/.NET之间的区别。使用Win32::GetOSName()或Win32::

返回

print "$^O\n";

然而,我的笔记本电脑是64位的。你知道Perl系统调用是否检索到错误的数据(通过它或Windows的bug)或者它是按设计的吗?

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

$^O
在Windows上始终是
MSWin32

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

MSWin32
use Win32;
print Win32::GetOSDisplayName(), "\n";
print Win32::GetOSName(), "\n";
print Win32::GetOSVersion(), "\n";
use Config qw( $Config );
print "$Config{archname}\n";
如果您想知道构建
perl
的体系结构,可以使用

MSWin32
use Win32;
print Win32::GetOSDisplayName(), "\n";
print Win32::GetOSName(), "\n";
print Win32::GetOSVersion(), "\n";
use Config qw( $Config );
print "$Config{archname}\n";
如果您想知道整数的大小,可以使用

MSWin32
use Win32;
print Win32::GetOSDisplayName(), "\n";
print Win32::GetOSName(), "\n";
print Win32::GetOSVersion(), "\n";
use Config qw( $Config );
print "$Config{archname}\n";

我只需要区分操作系统是Win还是Linux,这样Win32就可以了(我的脚本在32位和64位ARCH之间没有区别),但它只是引起了我的注意,所以我想问一下。在功能上,我并不真正需要
Win32::GetOSName()
,只是好奇而已。您可能会发现这也很有趣: