问题标签 [perl-module]

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 投票
4 回答
8129 浏览

perl - 如何让 CGI.pm 输出 HTML5 而不是 XHTML 1.0?

我在让 CGI.pm 输出到 HTML5 而不是 XHTML 1.0 或 HTML 4.01 时遇到了一些麻烦。当我尝试"HTML5""HTML 5"作为-dtd参数时,start_html()我得到了 HTML 4 中的文档。我也尝试过 importing :HTML5,但这似乎也不起作用。有什么建议吗?

0 投票
1 回答
173 浏览

perl - 我如何最好地处理 Perl/Tk 所需的补丁?

我正在为具有自己的常驻 Perl 和模块安装的应用程序对 Perl/Tk 进行更改(因此我们可以将应用程序放入并运行)。

我发现了一个我遇到的问题,我偶然发现了我在这里需要的补丁:http: //osdir.com/ml/lang.perl.tk/2004-10/msg00030.html

我想应用这个补丁,或者如果有更新版本的 Perl/Tk 模块我可以升级到其中包含这个补丁,不需要我更改 Perl 的版本,就这样做。

以下是我可以从该应用程序的安装中找到的内容:

perl -v = 5.8.4 $Tk::version = '8.4' $Tk::patchlevel = '8.4' $Tk::VERSION = '804.027'

所以..

1a) 如果有更新的 Tk VERSION 包含上面链接中的补丁,我如何只升级这个应用程序的特定 Perl 安装位置中的那个模块?

1b) 我如何知道该升级是否与 Perl 5.8.4 兼容(此时我不想升级 perl)

2)如果没有,我该如何应用该链接中定义的补丁?

0 投票
3 回答
1109 浏览

perl - 直接获取特别是设置 Perl 模块的全局变量是否合适?

我想知道 Perl 中的最佳实践是关于获取 - 或者更重要的是,设置 - 通过直接访问某个模块的全局变量,$Module::varName以防模块没有为其提供 getter/setter 方法。

它对我来说很难闻的原因是它有点绕过封装。仅仅因为我可以在 Perl 中做到这一点,我并不完全确定我应该这样做(假设实际上有一种替代方法,例如向模块添加 getter/setter)。

0 投票
3 回答
5775 浏览

perl - 如何使用 PDF::API2::Lite 添加带有图像的页眉、页脚?

是否可以在图像中添加页眉(带有文本和一个图像)和页脚(带有页码)。我编写了下面的代码来创建一个显示 png 图像的 PDF 文档。

如果这可以通过任何其他模块轻松完成,请提出建议。非常感谢您提供示例代码的响应。

0 投票
1 回答
990 浏览

perl - 如何在perl中的两行之间进行grep

我有 1 个文件,看起来像这样

我想用公司 xyz 与列名称、年龄、性别和另一个包含位置和编号列的表形成一个表。你能帮我如何使用 perl 来实现这个输出应该是这样的

谢谢

0 投票
2 回答
5204 浏览

perl - 我可以将 Perl 安装从一台计算机移动到另一台计算机吗?

我正在尝试设置一个依赖于几个 Perl 模块的应用程序,但我要安装的服务器没有 Internet 连接。我通过 ppd 文件阅读了有关离线模块安装的信息,但是我必须一一解决所有依赖项。考虑到我没有直接的互联网连接,这更加乏味。

我希望找到一个解决方案,在我的 PC 上安装 ActivePerl 并安装我想要的所有库,然后将目录复制粘贴到我的服务器。如果只是修复一些环境变量的问题,那很好。只想知道要修改的变量的最终列表。不确定是否必须在要运行它的计算机上安装 perl 库?(一个是 32 位平台,一个是 64 位,但是服务器已经在运行各种 32 位应用程序,所以我希望这不是一个大问题)为了获得最佳兼容性,我计划在两个系统上安装 ActivePerl 并合并库目录相同。

0 投票
3 回答
239 浏览

perl - 为什么 File::Slurp 在应该返回一个列表时返回一个标量?

我是 File::Slurp 模块的新手,在我的第一次测试中,它没有给出我期望的结果。我花了一段时间才弄清楚,所以现在我对为什么我会看到这种特定行为感兴趣。

我对 File::Slurp 的调用如下所示:

我包括了“死”部分,因为我习惯于在打开文件时这样做。我的@array 总是以数组的第一个元素中的文件的全部内容结束。最后我取出“|| die”部分,它开始按我预期的那样工作。

下面是一个例子来说明:

为什么|| 死有什么不同?我感觉这可能更像是 Perl 优先级问题,而不是 File::Slurp 问题。我查看了 File::Slurp 模块,如果出现问题,它似乎设置为 croak,所以我想正确的方法是让 File::Slurp 为你发声。现在我只是好奇为什么我会看到这些差异。

0 投票
4 回答
2871 浏览

perl - Perl - 包/模块问题

从我读过的关于使用 Perl 模块的所有内容来看,基本用法是:

  • 带有.pm扩展名的模块文件,其中包括语句package <name>,其中<name>是不带扩展名的模块的文件名。
  • 使用模块的代码文件包含语句use <name>;

我正在编写的应用程序有一个主要的代码脚本,它使用了大约 5 个模块。我忘记package <name>在模块中包含该语句,但我的代码仍然可以正常运行该use <name>语句。我开始收到Undefined subroutine其中一个模块的错误,因此我将 package 语句添加到每个模块中。现在这些模块的其余部分停止工作。是什么赋予了?

例子:

主应用程序.pl

UtyDate.pm

当我运行上面的代码时,我得到了错误Undefined subroutine &main::CurrentDate called at...。但是,如果我package UtyDate;从 UtyDate.pm 中删除该行,则不会出现错误。这种情况存在于我的几个但不是所有模块中。

显然还有很多我没有展示的代码,但我很困惑我没有展示的任何代码如何影响我在这里展示的包/使用结构。

0 投票
3 回答
887 浏览

perl - 处理相互使用的模块的最佳方法是什么?

处理相互使用的模块的最佳方法是什么?

假设我有一个具有哈希函数的模块:

另一个模块已被分割为列表:

假设有足够多的实用函数足够方便,我想在 BEGIN 语句和导入函数中使用它们来处理参数列表或配置数据。

我一直在将子定义放入 BEGIN 块中,以确保无论何时有人包含该模块,它们都可以使用。但是我遇到了毛茸茸的竞争条件,在 BEGIN 块中没有完成定义。

我将不断发展的代码习语放入模块中,以便我可以重复使用我发现自己一遍又一遍地编码的任何习语。例如:

捕捉到两个我厌倦了打字的习语:

我在 BEGIN 块中定义的函数越多,我就越有可能使用这些成语积木来表达逻辑,就越有可能在 BEGIN 块中需要积木。

人们有处理这种语言成语砖模型的标准方法吗?

我一直在做的主要是 Pure-Perl;XS会减轻一些吗?

0 投票
3 回答
776 浏览

perl - 如何使用对安装在非标准位置的 Perl 模块的依赖项?

我需要在网络主机上安装两个 Perl 模块。我们称它们为 A::B 和 X::Y。X::Y 取决于 A::B (需要 A::B 运行)。他们都使用Module::Install。我已使用成功将 A::B 安装到非系统位置

现在我想安装 X::Y,所以我尝试了同样的事情

输出是

它似乎在系统中找不到 A::B,尽管它已安装,并且当它尝试从 CPAN 自动安装模块时,它会尝试将其写入系统目录(忽略 PREFIX)。我曾尝试在命令行之后使用PERL_LIB和之类的变量,但我所做的一切似乎都不起作用。LIBPREFIX=...

我可以做到make并且make install成功,但是make test因为这个问题我做不到。有什么建议么?

我在http://servers.digitaldaze.com/extensions/perl/modules.html找到了一些使用环境变量 PERL5LIB 的建议,但这似乎也不起作用:

没有解决问题。