问题标签 [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 投票
2 回答
605 浏览

java - 安装 Perl 模块 Java::Import 时出现问题

我正在尝试在我的 Win32 系统上为 Perl 5.10安装Java::Import模块。但我似乎无法从 cpan 安装它。这是我尝试通过 CPAN 安装它时遇到的错误:

我试图查看 cpan-testers 并且似乎自 2006 年以来存在编译错误的错误。有没有人能够安装这个模块?似乎还有另一个名为Inline::Java的模块。我最好改用那个吗?

0 投票
3 回答
6701 浏览

ruby - Perl Data::Dumper 的 Ruby 等价物

我正在学习 Ruby 和 Perl 有一个名为 Data::Dumper 的非常方便的模块,它允许您递归地分析数据结构(如哈希)并允许您打印它。这在调试时非常有用。Ruby有类似的东西吗?

0 投票
2 回答
5312 浏览

perl - 为什么一个模块可以自行编译,但在其他地方使用时会失败?

我有一个 Perl 模块,它本身似乎可以很好地编译,但是在包含它时会导致其他程序编译失败:

的前几行rebat-report-status

0 投票
2 回答
1535 浏览

perl - 我的 CGI::Session 安装有什么问题?

我通过在我的 cgi-bin 中创建 perl-modules 目录然后将模块解压缩到该目录,在我的主机上安装了 CGI::Session 模块,所以我有:

在我执行的脚本中(位于 cgi-bin/test/ 中):

一切正常,直到通话到期。当我将 expire 调用放入 eval 中时,出现以下错误:

有任何想法吗?

0 投票
1 回答
426 浏览

perl - 如何使用我自己编译的 Perl 中的供应商打包模块?

我的 OS-Distribution 提供了 rpm 包“perl-obexftp”,它安装了模块“OBEXFTP”。这些是文件:

/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/OBEXFTP.pm
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP
/usr /lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/.packlist
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/ OBEXFTP.bs
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/auto/OBEXFTP/OBEXFTP.so
/var/adm/perl-modules/obexftp

我现在使用的是从源代码构建的 Perl。有没有一种简单的方法可以让我的 Perlinstallation 可以访问这个 OBEXFTP 模块?

0 投票
2 回答
1641 浏览

perl - 如何在编译时从外部文件导入 Perl 代码?

帮助佩勒斯!有谁知道一个简单的“在此处插入代码”方法会在编译时将外部文件中的代码带入一个包中?

背景:

我有一个标准的 PBP 风格的由内而外的类,它变得非常大。我想将代码拆分为多个文件,但不扩展类。理想情况下,我只需在编译时将代码插入示例模块的“Magic JuJu”部分(见下文)。

我已经将 AutoLoader 视为完成此任务的一种手段。但是,有两件事让我停下来。如果我能解决这些问题,它可能是一个近乎最佳的解决方案:

  1. 我不想将每个小子拆分成一个单独的文件;只是一些更合理大小的文件(尽管在调用者中使用子存根很好);和

  2. 我不想推迟每个子的编译;我想在初次使用时编译一些潜艇。但是,这可能不会破坏交易。

我知道 Moose 提供了“角色”,我相信它做得很好,但由于各种原因,Moose 不是这个项目的选项,Mouse 也不是。

我在“Magic JuJu”位置使用了“require q(some/file)”,但这不保持持久变量范围,即来自外部文件的子不会正确“看到”对象属性散列(仍然换句话说,将 require 放在文件顶部会产生相同的效果)。我可以通过始终使用 setter 和 getter 来解决这个问题。所以这不是一个交易破坏者,但需要一些我不想承担的编码时间和执行开销。

最后,我不想扩展课程;它已经具有多重继承。我只想要一个简单的“在此处插入代码”方法会在编译时将代码引入一次。

总之:

  1. (必需)将代码从外部文件导入包命名空间
  2. (必需)仅在编译时或最小运行时开销时这样做
  3. (必需)不扩展类
  4. (所需)荣誉插入位置范围

带有“Magic JuJu”注释的示例代码如下:

也许是一个带有 slurp 和 eval 的 BEGIN 块......

0 投票
1 回答
173 浏览

perl - 活动状态 Perl - IOCP

我正在考虑在我们的网络相关代码之一中使用 perl 中的 IOCP。目前 Active State Perl 直到 5.10 不提供这个功能?有人知道免费模块可以在 perl 中使用像 IOCP 这样的 ASIO 功能吗?

-卡提克

0 投票
3 回答
3465 浏览

perl - 在 Perl 中,如何从库中导入哈希?

我有一个文件revs.pm

还有另一个文件,例如importer.pl

我如何%vers访问importer.pl

0 投票
2 回答
605 浏览

perl - 我应该如何分发预构建的 perl 模块,以及我构建的 perl 版本是什么?

这可能是一个多部分的问题。背景:我们有一个本地 (c++) 库,它是我们应用程序的一部分,我们已经设法使用 SWIG 为这个库生成一个 perl 包装器。我们现在想将这个 perl 模块作为我们应用程序的一部分进行分发。

我的第一个问题 - 我应该如何分发这个模块?有没有标准的方法来打包预先构建的 perl 模块?我知道 ActiveState 发行版有 ppm,但我还需要为 linux 系统分发它。我什至不确定分发需要哪些文件,但我猜它至少是 pm 和 so 文件。

我的下一个问题 - 看起来我可能需要为我想要支持的每个版本的 perl 构建我的模块项目。我怎么知道我应该为哪个 perl 版本构建?是否有任何标准指南......或者更好的方法来构建一个可以与多个版本的 perl 一起使用的包?

对不起,如果我的问题没有意义 - 我对 perl 的编译模块方面相当陌生。

澄清:底层编译源是专有的(封闭源),所以我不能只为包提供源代码和适当的制作工件。希望我能,但在这种情况下不会发生。因此,我需要一个合理的方案来为我的模块打包预构建的二进制文件。

0 投票
2 回答
320 浏览

perl - 哪些 Perl 模块可以通过复制 lib 文件来安装?

我是 Perl 的绝对初学者,我正在尝试在我的共享 Linux 网络主机上使用一些非核心模块。我没有命令行访问权限,只有 FTP。

主机管理员会根据要求考虑安装模块,但我想使用的模块会经常更新(例如 DateTime::TimeZone),我更愿意准确控制我正在使用的版本。

通过实验,我发现一些模块可以通过将文件从模块的 lib 目录复制到主机上的目录来安装,并使用

在我的脚本中,即无需编译即可安装(再次为 DateTime 和 DateTime::TimeZone)。

我如何判断特定模块是否属于这种情况?我意识到我必须自己解决依赖关系。

另外:如果我希望能够安装任何模块,包括那些需要编译的模块,我会在托管方面寻找什么?

我猜现在我与其他几个人共享一个 VM,而我需要的最低配置是一个具有 shell 访问权限的专用 VM?