2004-09-21

初歩的すぎて今さら Web 上で見つけられない platform 判別に使える方法

最近 Perl は CGI の初歩の話ばかりで Perl そのものの話を見つけるのが難しい。現在スクリプトを実行している環境を判別したくなったのでちょっと調べてみた。するとこんなスクリプトで分かりそうだった。

#! /usr/bin/env perl
use Config;

print $Config{'osname'} . "\n";
print $Config{'osvers'} . "\n";

以下 uname -spr と perl -v とスクリプトの実行結果を順に。

Debian 3.0r2

Linux 2.4.18-1-686 unknown
This is perl, v5.6.1 built for i386-linux
linux
2.6.3-deb2-skas3

cygwin 1.5.9

CYGWIN_NT-5.0 1.5.9(0.112/4/2) unknown
This is perl, v5.8.2 built for cygwin-thread-multi-64int
cygwin
1.5.5(0.9432)

FreeBSD 4.10R

FreeBSD 4.10-RELEASE i386
This is perl, version 5.005_03 built for i386-freebsd
freebsd
4.0-current

FreeBSD 4.10R の返事はずいぶんいい加減な数字のような気もするが、これは build 環境なんだよな。

Windows 2000 SP4

This is perl, v5.6.1 built for MSWin32-x86-multi-thread
(snip)
Binary build 635 provided by ActiveState Corp.
MSWin32
4.0

NT 4 で build してる? 古い Perl for Win32 とか JPerl for Win32 はどうだか分かりません。

MacOS

MacJPerl5 を動かしてみた。

osname='MacOS
osvers='7.5

げ。なんか余計な文字列ついてきてるんですけど。

しかし、Perl 4 以前はどうしてたんだろうか。。。

About

例によって個人のなんちゃらです