问题标签 [perl5.8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
916 浏览

perl - 你使用的是哪个版本的 Perl?

根据 CPAN 上的 Perl 源代码页,5.8.9 现在已经 14 天了,将是最后一个 5.8 版本。5.10.0 已经有一年多了,大概可以在生产环境中使用了。

现在暂且不谈 Perl 6,我能问一下 Perl 的人正在测试、推出和在生产中使用哪些版本?我们目前已经在我们的 Ubuntu(工作站)和 Solaris(生产)平台上对 5.8.8 进行了标准化,我想知道小步升级到 5.8.9 或大步升级到 5.10.0 的利弊。

0 投票
3 回答
337 浏览

perl - 如果在 5.6.x 中开发,安装 Perl 5.8.x 或 5.10.x 会对我的代码运行方式产生重大影响吗?

在 Perl 5.6.1 中开发代码但在 Perl 5.8.x 或 5.10.x 中运行代码有什么影响(如果有的话)?

我正在使用这些模块:

(对于 Windows)

0 投票
4 回答
142 浏览

perl - 如何将结果存储到变量并在条件中检查结果?

我知道这是可能的,但我在语法上画了一个空白。你如何做类似于以下的事情作为条件。5.8,所以没有开关选项:

只是类似于:

0 投票
1 回答
278 浏览

perl - Perl 的 5.8 与 5.10 和 5.12 的子例程中的代码延迟评估有什么区别?

这段代码在 Perl 5.8 下的行为与在 Perl 5.12 下的行为不同:

当我在 5.8 下运行它时,即使我从未执行过除法,也会出现错误:

在 perl 5.10.1 下,它的行为与 5.12 下一样:

我使用命名子程序得到相同的结果,例如

我在 perl5100delta pod 中没有看到任何关于此的内容。这是一个未记录的更改吗?其他一些变化的意外副作用?(作为记录,我认为 5.10 和 5.12 正在做正确的事情。)

0 投票
3 回答
359 浏览

perl - 我可以确保在 5.10+ 上编写的 Perl 代码可以在 5.8 上运行吗?

Perl 5.10 和 5.12 的一些新特性,例如“say”,被定义为特性,您可以使用“feature”编译指示显式启用或禁止这些特性。但是其他添加,例如命名的正则表达式捕获组,是隐含的。

当我使用 5.10+ 解释器编写 Perl,但希望它也能在 5.8 上运行时,我可以让 Perl 抱怨使用 5.8 中没有的任何东西吗?显然,在您打算运行的所有主要版本上测试您的代码是一种很好的做法,但是让 Perl 自动警告我仍然很好。

0 投票
1 回答
2373 浏览

perl - 如何在 Mac OS X 10.6 服务器和使用 Apache2 上的 Perl 5.8 和 5.10 版本之间切换

新的 Mac Mini Server 带有 OS X 10.6 并且本机支持(附带)两个版本的 Perl,Apple 默认包含这些版本是有充分理由的。

这些可以在以下目录下找到:/Library/Perl/5.8.9 和 /Library/Perl/5.10.0 我还在 /Library/Perl/Updates/5.8.9 和 /Library/Perl/Updates/5.10 下找到。 0。

我发现我可以在控制台级别使用 Apple 建议的“默认写入”命令在终端上成功切换 perl 5.8.9 和 5.10.0。

例如,由于 OS X Server 10.6 交付时默认设置为 5.10.0,我已成功使用以下两个命令使用 32 位切换到 perl 5.8.9,并且在控制台级别一切正常。

我成功地使用 CPAN shell 安装了以下所需的 Perl 模块,就像 perl 5.10.0 的默认版本一样:

我使用 DBD:Pg 连接到 PostgreSQL 数据库,这似乎也可以正常工作。

但是,当我尝试从 5.10.0 切换到 Perl 5.8.9 时,我在尝试使用相同的 Perl 代码时在 Apache 中收到以下错误。

然后我决定,在使用“默认写入”命令切换到 perl 5.8.9 后,再次检查“sudo perl -eshell -MCPAN”可能是个好主意,但这似乎没有帮助。

有谁知道为什么我会得到这些结果?您对不使用预编译二进制文件的更好方法有什么建议,因为我从源代码编译没有任何问题。

提前致谢。

潘道格

0 投票
2 回答
922 浏览

regex - 仅从 Perl 5.8.8 中的替换返回匹配项(之前是:Perl "p" 正则表达式修饰符等效)

我有一个脚本(源代码)来解析svn info以创建适合 Bash 的字符串$PS1。不幸的是,这在我正在使用的运行 Perl 5.8.8 的系统上不起作用 - 它输出所有行而不是仅输出匹配项。Perl 5.8.8 相当于什么?

Perl 5.10 的输出仅包含空格、括号、分支名称、标记名称或 之一trunk,以及结束括号。Perl 5.8.8 的输出(没有 final p)包含这个以及输出的每个空格分隔部分的括号版本svn info

一种可能的解决方法是在and命令grep '^URL: '之间进行简单的处理,但我希望避免这种情况,因为这将针对每个 Bash 提示符执行。svnperl

0 投票
3 回答
183 浏览

perl - 如何移植代码 perl switch-like 语句以用于 5.8

我有这个使用 perl 5.10 的特定代码(用于类似开关的操作),但需要让它在 5.8 上工作。为 5.8 编写这个的另一种方法是什么?首选方式/技术?

0 投票
6 回答
6219 浏览

regex - 在 Perl 正则表达式中匹配平衡括号

我有一个表达式,我需要拆分并存储在一个数组中:

一旦拆分并存储在数组中,它应该看起来像这样:

我使用 Perl 5.8 版,有人可以解决这个问题吗?

0 投票
3 回答
1781 浏览

perl - 所有 perl 版本都支持旧模块吗?

我在我们所有的服务器上都安装了 Perl 5.8,并且想使用 DBI 和 DBD::Oracle 模块来访问我们的数据库。我主要担心的是新版本的 perl DBI 和 DBD 模块将停止与 5.8 一起工作。然后我必须将每台服务器升级到最新的 perl 版本。

我的问题是,随着 perl 本身成为更高版本并且为它们开发模块,它们是否仍然向后兼容?“CPAN 不包含 Perl 的所有旧版本和补丁级别”,如果我创建文档说运行“cpan -i DBI”,如果最新版本的 DBI 不能与 5.8 一起使用?