プロが教える店舗&オフィスのセキュリティ対策術

PerlでWindowsがLinuxかを区別するスクリプトを記述したいのですが、何か良い方法はないでしょうか?

A 回答 (2件)

use Config;


if($config{'osname'} =~ /^(MS)?Win/i){
print "Windows";
}else{
print "Mac or Unix";
}
    • good
    • 0

 察するに、実行環境がウィンドウズ(ローカル?)か、アパッチ(サーバー)かを区別したいのではないかと思いますが、そういう解釈でいいでしょうか?



 であれば、方法はいくらでもあります。
 ウィンドウズでは動かない関数というものがいくつかありますんで、そういうのを予め eval {} で囲っておく方法が一般的です。

 また、純粋にIF文で区別したいのであれば、__FILE__マクロに「¥」が含まれているかどうかを見る方法もあります。
 それから環境変数 SERVER_SOFTWARE に、OSを区別するための文字列が入っていたりもします。

 ただし、この手の問題は色々試してみて、自分で最適な方法を見つけるしかないのが常ですが(^_^;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!