问题标签 [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.
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 的利弊。
perl - 如果在 5.6.x 中开发,安装 Perl 5.8.x 或 5.10.x 会对我的代码运行方式产生重大影响吗?
在 Perl 5.6.1 中开发代码但在 Perl 5.8.x 或 5.10.x 中运行代码有什么影响(如果有的话)?
我正在使用这些模块:
(对于 Windows)
perl - 如何将结果存储到变量并在条件中检查结果?
我知道这是可能的,但我在语法上画了一个空白。你如何做类似于以下的事情作为条件。5.8,所以没有开关选项:
只是类似于:
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 正在做正确的事情。)
perl - 我可以确保在 5.10+ 上编写的 Perl 代码可以在 5.8 上运行吗?
Perl 5.10 和 5.12 的一些新特性,例如“say”,被定义为特性,您可以使用“feature”编译指示显式启用或禁止这些特性。但是其他添加,例如命名的正则表达式捕获组,是隐含的。
当我使用 5.10+ 解释器编写 Perl,但希望它也能在 5.8 上运行时,我可以让 Perl 抱怨使用 5.8 中没有的任何东西吗?显然,在您打算运行的所有主要版本上测试您的代码是一种很好的做法,但是让 Perl 自动警告我仍然很好。
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”可能是个好主意,但这似乎没有帮助。
有谁知道为什么我会得到这些结果?您对不使用预编译二进制文件的更好方法有什么建议,因为我从源代码编译没有任何问题。
提前致谢。
潘道格
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 提示符执行。svn
perl
perl - 如何移植代码 perl switch-like 语句以用于 5.8
我有这个使用 perl 5.10 的特定代码(用于类似开关的操作),但需要让它在 5.8 上工作。为 5.8 编写这个的另一种方法是什么?首选方式/技术?
regex - 在 Perl 正则表达式中匹配平衡括号
我有一个表达式,我需要拆分并存储在一个数组中:
一旦拆分并存储在数组中,它应该看起来像这样:
我使用 Perl 5.8 版,有人可以解决这个问题吗?
perl - 所有 perl 版本都支持旧模块吗?
我在我们所有的服务器上都安装了 Perl 5.8,并且想使用 DBI 和 DBD::Oracle 模块来访问我们的数据库。我主要担心的是新版本的 perl DBI 和 DBD 模块将停止与 5.8 一起工作。然后我必须将每台服务器升级到最新的 perl 版本。
我的问题是,随着 perl 本身成为更高版本并且为它们开发模块,它们是否仍然向后兼容?“CPAN 不包含 Perl 的所有旧版本和补丁级别”,如果我创建文档说运行“cpan -i DBI”,如果最新版本的 DBI 不能与 5.8 一起使用?