如何在不使用第三方工具的情况下在perl中获取远程机器操作系统版本

时间:2011-08-25 18:32:54

标签: perl operating-system remote-connection

我有要求我必须在perl中找到在远程机器上运行的操作系统。 该机器可以在任何操作系统上运行,从windows,linux到aix。 我见过很少的解决方案,但不幸的是都需要安装第三部分工具,在这种情况下无法完成。

请您指导我获取远程机器操作系统详细信息(名称和版本),而无需安装第三方工具。

2 个答案:

答案 0 :(得分:2)

您有一台远程计算机 R 和一台本地计算机 L 。你究竟在做什么?

  • 在访问远程计算机 R 的计算机 L 上运行Perl脚本。
  • 在计算机 L 上运行程序,该计算机在 R 上运行Perl脚本。

如果您正在进行第二种情况,请查看Config模块。这是一个标准的Perl模块,至少从Perl 5.8开始包含在Perl的所有版本中。您可以提取数百个参数。请查看osnameosver

使用非常简单:

use Config;   #Imports $Config hash

print "Operating system is $Config{osname}\n";
print "The version of the OS is $Config{osvers}\n";

答案 1 :(得分:1)

如果您可以登录到每台远程计算机,并且如果该计算机上安装了perl,则只需解析perl -V的输出。例如

$ perl -V
Summary of my perl5 (revision 5 version 12 subversion 0) configuration:

  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
    uname='Win32 strawberryperl 5.12.0.0 #1 Wed Apr 28 11:51:06 2010 i386'
    ....