加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何检测Perl中的操作系统?

发布时间:2020-12-15 21:28:19 所属栏目:大数据 来源:网络整理
导读:我有Mac上的Perl,Windows和Ubuntu。我怎么能从脚本内告诉哪一个是哪个?提前致谢。 编辑:我被问我做什么。它是一个脚本,是我们的跨平台构建系统的一部分。脚本递归目录并计算出要构建的文件。一些文件是平台特定的,因此,在Linux上我不想构建以_win.cpp
我有Mac上的Perl,Windows和Ubuntu。我怎么能从脚本内告诉哪一个是哪个?提前致谢。

编辑:我被问我做什么。它是一个脚本,是我们的跨平台构建系统的一部分。脚本递归目录并计算出要构建的文件。一些文件是平台特定的,因此,在Linux上我不想构建以_win.cpp结尾的文件等。

解决方法

检查包含操作系统名称的 $^O变量:
print "$^On";

它在Linux上打印linux,在Windows上打印MSWin32。

如果使用English模块,也可以通过名称$OSNAME引用此变量:

use English qw' -no_match_vars ';
print "$OSNAMEn";

根据perlport,$^O将在Mac OS X上达尔文。

您还可以使用Config核心模块,它可以提供相同的信息(以及更多):

use Config;

print "$Config{osname}n";
print "$Config{archname}n";

在我的Ubuntu机器上打印:

linux
i486-linux-gnu-thread-multi

请注意,此信息基于Perl构建的系统,这不一定是Perl当前运行的系统(对于$^O$OSNAME也是如此); OS将不可能不同,但是一些信息,如架构名称,可能很好。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读