私の perl スクリプトは、Linux サーバーだけでなく Windows でも実行する必要があります。スクリプトが実行されると、特定のものについてレジストリを更新する必要があります。「use Win32::Registry」を使用すると、Windows では正常に動作しますが、Linux では次の if ステートメントに関係なくエラーが発生します。
if ($OS =~ /Windows/ )
{
use Win32::Registry;
...
...
}
私の見解では、perl はコンパイル時に "use" をロードしますが、これが問題に違いありません。Linux での実行時に Perl が use win 32 コマンドをロードしないようにするにはどうすればよいですか?
使ってみた
if ($OS =~ /Windows/ )
{
require Win32::Registry;
...
...
}
これにより、スクリプトは両方のサーバーで正常に実行されますが、文字列値ではなくバイナリ値がレジストリに保存されます。
では、Perl スクリプトを両方のサーバーで実行し、文字列値をレジストリに保存するにはどうすればよいでしょうか?
ありがとうございました。