Как получить версию ОС удаленного компьютера в Perl без использования стороннего инструмента
У меня есть требование, где я должен найти ОС, работающую на удаленной машине в Perl. Машина может работать на любой ОС от windows, linux до aix. Я видел несколько решений, но, к сожалению, все требует установки третьей части инструмента, что не может быть сделано в этом случае.
Не могли бы вы подсказать мне, как получить информацию об ОС удаленного компьютера (имя и версия) без необходимости установки стороннего инструмента.
2 ответа
У вас есть удаленный компьютер R и локальный компьютер L. Что именно ты делаешь?
- Запуск сценария Perl на компьютере L, который обращается к удаленному компьютеру R.
- Запуск программы на машине L, которая запускает Perl-скрипт на машине R.
Если вы делаете второй сценарий, взгляните на модуль Config. Это стандартный модуль Perl, и он включен во все версии Perl, по крайней мере, с Perl 5.8. Существуют сотни параметров, которые вы можете выбрать. Взгляни на osname
а также osver
,
Это довольно просто в использовании:
use Config; #Imports $Config hash
print "Operating system is $Config{osname}\n";
print "The version of the OS is $Config{osvers}\n";
Если вы можете войти на каждый удаленный компьютер, и если на нем установлен perl, просто проанализируйте вывод perl -V
, Например
$ perl -V
Сводка моей конфигурации perl5 (версия 5, версия 12, subversion 0): Платформа: osname = MSWin32, osvers = 5.1, archname = MSWin32-x86-multi-thread uname = 'Win32 strawberryperl 5.12.0.0 # 1 ср 28 апреля 11:51:06 2010 i386' ....