• 締切済み

PerlでWindowsがLinuxかを区別するスクリプト

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

みんなの回答

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

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

noname#25358
noname#25358
回答No.1

 察するに、実行環境がウィンドウズ(ローカル?)か、アパッチ(サーバー)かを区別したいのではないかと思いますが、そういう解釈でいいでしょうか?  であれば、方法はいくらでもあります。  ウィンドウズでは動かない関数というものがいくつかありますんで、そういうのを予め eval {} で囲っておく方法が一般的です。  また、純粋にIF文で区別したいのであれば、__FILE__マクロに「¥」が含まれているかどうかを見る方法もあります。  それから環境変数 SERVER_SOFTWARE に、OSを区別するための文字列が入っていたりもします。  ただし、この手の問題は色々試してみて、自分で最適な方法を見つけるしかないのが常ですが(^_^;

関連するQ&A