使用perl确定Microsoft Windows的版本?

时间:2013-04-24 10:08:59

标签: windows perl operating-system version

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

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

2 个答案:

答案 0 :(得分: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();

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

答案 1 :(得分:2)

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

  

$ ^ O

     

此Perl副本所在的操作系统的名称   在配置过程中确定的内置。举些例子   在perlport中查看PLATFORMS。

     

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

     

在Windows平台中,$ ^ O不是很有用:因为它是   总是MSWin32,它没有说出它们之间的区别   95/98 / ME / NT / 2000 / XP / CE / .NET。使用Win32 :: GetOSName()或   Win32 :: GetOSVersion()(参见Win32和perlport)来区分   变种。