$OSNAME
Linuxで変数を使用したことを覚えています。
現在、OS名を取得する必要があるSolarisでプロジェクトに取り組んでいますが、その変数はSolarisでは機能していません。
単純な1行のプログラムでも機能しません。
print "OS is $OSNAME\n";
印刷します
OS is
助けてください。
$OSNAME
Linuxで変数を使用したことを覚えています。
現在、OS名を取得する必要があるSolarisでプロジェクトに取り組んでいますが、その変数はSolarisでは機能していません。
単純な1行のプログラムでも機能しません。
print "OS is $OSNAME\n";
印刷します
OS is
助けてください。
English
モジュールを使用する必要があります。
$OSNAME
は実際にはのエイリアスです。モジュール$^O
を使用$^O
せずに使用できますが、使用するにはモジュールを使用する必要があります。English
$OSNAME
English
また、use strict
欠落しているため、エラーは発生しませんでした。
プログラムで常に使用use strict;
してください。この種のエラーを見つけるのに役立ちます。
だから試してみてください:
use English;
use strict;
print "Operating system is $OSNAME\n";
代わりに使用できますprint $^O
。
コマンドラインからテストすると、次のようになります。
$ perl -E 'say $OSNAME'
$ perl -Mstrict -E 'say $OSNAME'
Global symbol "$OSNAME" requires explicit package name at -e line 1.
Execution of -e aborted due to compilation errors.
$ perl -Mstrict -MEnglish -E 'say $OSNAME'
linux
$OSNAME
($^O
)に必要な情報が正確に含まれていない場合は、Configモジュールから入手できる値を確認してください。