我记得在Linux中使用了变量$OSNAME
。
目前我正在开发一个Solaris项目,我需要获取操作系统名称,而该变量在Solaris上不起作用。
即使是简单的单行程序也不起作用:
print "OS is $OSNAME\n";
打印
OS is
请帮忙。
答案 0 :(得分:14)
您需要使用English
模块。
$OSNAME
实际上是$^O
的别名,您可以在不使用$^O
模块的情况下使用English
,但要使用$OSNAME
,您需要使用English
use strict
1}}模块。
此外,由于缺少use strict;
,因此您没有收到任何错误。
始终在您的程序中使用use English;
use strict;
print "Operating system is $OSNAME\n";
,它将帮助您捕获这些错误。
所以试试:
{{1}}
答案 1 :(得分:2)
您可以改为使用print $^O
。
答案 2 :(得分:2)
从命令行测试内容,我得到:
$ 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
答案 3 :(得分:2)
如果$OSNAME
($^O
)未准确包含您需要的信息,请查看Config模块中可用的值。