0

我正在 Windows 上创建一个小的 perl 脚本。我想确定 Windows 的版本,即 XP、Vista、7、8 等。我如何获得这些信息?谢谢你。

更新: 我想知道运行脚本的 Windows 版本! 请添加一些关于如何使用 API 的代码,因为我是初学者并且对 perl 不太了解。

4

2 回答 2

4

试试Win32

#!/usr/bin/env perl

use 5.014;
use strict;
use warnings;

use Win32;

say Win32::GetOSDisplayName();
say for Win32::GetOSName();
say for Win32::GetOSVersion();

如果这还不够,您可以通过Win32::API调用GetVersionEx

于 2013-04-24T14:32:29.597 回答
2

来自http://perldoc.perl.org/perlvar.html

$^O

构建此 Perl 副本的操作系统的名称,在配置过程中确定。有关示例,请参见 perlport 中的 PLATFORMS。

该值与 $Config{'osname'} 相同。另请参阅 perlrun 中记录的 Config 和 -V 命令行开关。

在 Windows 平台中,$^O 不是很有帮助:因为它始终是 MSWin32 ,它无法区分 95/98/ME/NT/2000/XP/CE/.NET 之间的区别。使用 Win32::GetOSName() 或 Win32::GetOSVersion()(参见 Win32 和 perlport)来区分变体。

于 2013-04-24T10:14:56.973 回答