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

前端之家收集整理的这篇文章主要介绍了如何检测Perl中的操作系统?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有Mac上的Perl,Windows和Ubuntu。我怎么能从脚本内告诉哪一个是哪个?提前致谢。

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

解决方法

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

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

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

use English qw' -no_match_vars ';
print "$OSNAME\n";

根据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将不可能不同,但是一些信息,如架构名称,可能很好。

原文链接:https://www.f2er.com/Perl/173506.html

猜你在找的Perl相关文章