2

Perlを使用してコンピューターのオペレーティングシステムを表示したい。私は次のようにすると思いました

#!/usr/bin/perl
use strict;
use warnings;

my $os = $^O;
print "$os\n";

しかし、私が得た出力は

linux

出力を次のように表示したい

Windows XP

これを行う方法?助けてください。前もって感謝します。

4

3 に答える 3

6

POSIXモジュールが提供するuname()関数を使用します。

于 2013-03-24T19:10:23.677 に答える
2

すべてのPerlディストリビューションにはConfigモジュールが付属しています。このモジュールはハッシュをインポートするため少し厄介ですが、%Configあらゆる種類のPerl構成情報にアクセスするための簡単な方法です。

use Config;  # This exports a %Config hash

print "My OS is $Config{osname}\n";
print "My OS version is $Config{osvers}\n";
print "My Architecture Family is $Config{archname}\n";

#
# Print out all of the keys, and see which one looks like one
# you can use. "ld" is actually a rather nice value
#
for my $key (sort keys %Config) {
    no warnings qw(uninitialized); # Some elements have undef values
    print qq($key: "$Config{$key}"\n);
}
于 2013-03-24T21:36:13.100 に答える
1

あなたはおそらく探していますか

use CGI                 qw( );
use HTTP::BrowserDetect qw( );

my $cgi = CGI->new();
print $cgi->header('text/plain');

my $bd = HTTP::BrowserDetect->new($cgi->user_agent());
print $bd->os_string(), "\n";
于 2013-03-25T07:11:14.483 に答える