据我所知,Linux 的每个桌面/服务器发行版都默认安装了 Perl(和核心模块),AIX 和 Solaris (IIRC) 也是如此。
我所说的“默认”是指即使是最轻量级的变体也具有它。
我没有从事过 BSD 或类似的工作,它们有 Perl 吗?
动机:我试图弄清楚鼓励团队中的人使用 Perl 而不是 awk/sed/其他文本实用程序是否有意义。
笔记:sed、awk、perl 和 sh 哪个最可移植?没有回答我的问题。可移植性并不是我主要关心的问题,开箱即用的可用性才是。即使所有类 UNIX 系统都有 awk/sed,我仍然更喜欢 Perl。
注意:另外,Perl 我指的是 Perl 5.8+
答案1
是的,如果您的意思是作为普通的第三方应用程序使用,而不是作为操作系统的一部分捆绑。
FreeBSD 早在 2003 年的 5.0 版本中就将 Perl 从 contrib 中删除了。当然,它在端口/包中。
NetBSD 和 MirBSD(又名 MirOS BSD)、FreeBSD 衍生品(例如 GhostBSD 和 TrueOS)以及 FreeBSD 的派生 DragonFlyBSD 也是如此。然而,FreeBSD 的分支 MidnightBSD 在 contrib 中保留了 Perl。
进一步阅读
- FreeBSD/i386 5.0-RELEASE 发行说明。 2003 年。FreeBSD 文档项目。
答案2
与两者共事后sed
,awk
我可以说,当我去的时候,我松了一口气perl
。 对于单行代码来说sed
很好awk
,但是一旦它变得更复杂一点,我就会转向perl
由于更好的错误处理和更强大的语言。有了它,perl
我也避免了处理不同的方言awk
。
我在实践中遇到的唯一没有perl
安装的系统是我的路由器和我的 Android 手机(而且在这些系统上安装非常容易perl
)。甚至我曾经使用过的所有 *BSD 机器都已perl
安装。因此,虽然某些 BSD 可能没有perl
作为基本系统的一部分,但我在现实生活中遇到的所有系统都已perl
安装 - 可能是因为它们安装了依赖于perl
.
答案3
答案4
很多。 Perl 是 Linux 系统上的标准语言,但它最初是一种“为滞留在国外的 Unix 用户提供的脚本形式的 Unix 工具集合”。非常肯定非标准(我记得我使用的是 Perl 2.026 或诸如 26 之类的数字 -- 次要数字是补丁的数量,因此是 26,因为它是 26 个文件,一轮补丁之后可能是 31 -- 来自 1990 年左右 Usenet 组 comp.sources.unix 的帖子)。如果您查看官方的 Unix 定义,您将根本找不到 Perl(或 Python、Ruby 或 PHP)的提及。