$OSNAME
我记得在 Linux中使用过这个变量。
目前我正在 Solaris 上开发一个项目,我需要获取操作系统名称并且该变量在 Solaris 上不起作用。
即使是简单的单行程序也不起作用:
print "OS is $OSNAME\n";
它打印
OS is
请帮忙。
$OSNAME
我记得在 Linux中使用过这个变量。
目前我正在 Solaris 上开发一个项目,我需要获取操作系统名称并且该变量在 Solaris 上不起作用。
即使是简单的单行程序也不起作用:
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";
从命令行测试东西,我得到:
$ 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
你可以print $^O
改用。
如果$OSNAME
( $^O
) 没有准确包含您需要的信息,请查看Config模块中提供给您的值。