我正在Windows上创建一个小的perl脚本。 我想确定Windows的版本,即XP,Vista,7,8等。 我怎样才能获得这些信息? 谢谢。
更新: 我想知道运行脚本的Windows版本! 请添加一些关于如何使用API的代码,因为我是初学者和不太了解perl。
答案 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)来区分 变种。