为什么 Perl 的 $OSNAME 不能在 Solaris 上工作?

发布于 2024-09-25 19:57:05 字数 252 浏览 1 评论 0原文

我记得在 Linux 中使用过变量 $OSNAME

目前我正在 Solaris 上开展一个项目,我需要获取操作系统名称,但该变量在 Solaris 上不起作用。

即使是简单的一行程序也不起作用:

print "OS is $OSNAME\n";

它会打印

OS is 

Please help。

I remember having used the variable $OSNAME in Linux.

Currently I'm working on a project on Solaris where I need to get the OS name and that variable is not working on Solaris.

Even a simple one line program does not work:

print "OS is $OSNAME\n";

it prints

OS is 

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

飘过的浮云 2024-10-02 19:57:05

您需要使用English模块。

$OSNAME 实际上是 $^O 的别名,您可以使用 $^O 而不使用 English 模块,但是要使用 $OSNAME,您需要使用 English 模块。

此外,由于缺少 use strict ,因此您没有收到任何错误。

始终在程序中使用use strict;,它将帮助您捕获此类错误。

所以尝试:

use English;
use strict;

print "Operating system is $OSNAME\n";

You need to use the English module.

$OSNAME is actually an alias for $^O, you can use $^O without using English module but to use $OSNAME you need to use the English module.

Also since use strict is missing you did not get any errors.

Always use use strict; in your program, it will help you catch these kinds of errors.

So try:

use English;
use strict;

print "Operating system is $OSNAME\n";
野生奥特曼 2024-10-02 19:57:05

您可以使用 print $^O 来代替。

You can use print $^Oinstead.

我只土不豪 2024-10-02 19:57:05

从命令行测试东西,我得到:

$ 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

Testing stuff from the command line, I get:

$ 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
甜味超标? 2024-10-02 19:57:05

如果 $OSNAME ($^O) 没有准确包含您需要的信息,请查看 配置 模块。

If $OSNAME ($^O) doesn't contain precisely the information you need, take a look at the values available to you from the Config module.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文