问题标签 [activeperl]

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 投票
5 回答
16505 浏览

windows - 如何在没有 Internet 连接的情况下在 ActivePerl 中安装软件包?

在 ActivePerl 中,“ppm”从 Internet 安装软件包,“ppm install x.ppd”从 ppd 文件安装,但大多数 CPAN 软件包以.tar.gz形式分发

如何为没有 Internet 连接的运行 ActivePerl 的机器提供模块?(“make”可能不可用。)

更新:可以使用 Internet 连接下载文件并使用 USB 密钥等将它们传输到机器。

0 投票
4 回答
1281 浏览

perl - 如何获得适用于 ActivePerl 5.10 的 BerkeleyDB?

我正在尝试找出适用于 ActivePerl 5.10 的 BerkeleyDB PPM 在哪里。任何人都知道在哪里可以找到它,或者如何构建它?

我在这里找到了线索。他们声称 BerkeleyDB 0.33 已经为 Perl 5.10 构建好了。它们提供指向 PPM 的链接,但不提供指向支持 zip 文件的链接。所以我绕过它,手动获取ppmzip并在 ppm 文件上运行 ppm install 。这不起作用,因为无法加载 zip 中提供的 dll。

似乎唯一要做的就是从 Oracle 获取 BerkeleyDB 代码,使用 Visual Studio 为 Win32 编译它(提供的 MSI 使用 Cygwin 工具),从 CPAN 修改 tarball 并自己构建 ppm。

0 投票
5 回答
4728 浏览

perl - 如何将常量导入 Perl 中的多个模块?

我正在用 Perl 编写一个包含多个模块的应用程序。我想编写一些在任何地方都可见的全局常量,如下所示:

然后在没有限定条件的情况下使用它们,main::或者Constants::在几个模块中使用它们。但是,如果我编写use Constants;多个模块,它们只会被导入一个命名空间。有没有办法解决?

我正在使用最新的 ActivePerl。

0 投票
3 回答
1830 浏览

windows - 如何强制 Perl 脚本使用 ActiveState 的 wperl?

我有一个 Perl 脚本,它需要两个命令行参数,需要一段时间才能运行。我正在使用 ActiveState Perl 来运行它。我可以用

命令提示符开始,它在后台运行良好。如果我将 .pl 关联从 perl.exe 更改为 wperl.exe 并调用它点没有通过。有没有类似于#!/usr/bin/perl我可以用来强迫wperl习惯的东西?

0 投票
2 回答
4382 浏览

windows - UDP 服务器监听广播

鉴于:
服务器在运行 ActiveState Perl
的 windows xp 上 服务器连接到内部网络和外部网络
内部网络上的计算机正在通过 udp 广播到端口 9722 上的 10.4.255.255

我需要:
收听广播并将消息传递给函数

这是我正在使用的代码:

请注意 &parseInput 返回它传递的原始字符串。

我的问题:
调用 $sock->recv() 后,$string 变为空。使用另一个应用程序,我可以看到毫无疑问有信息正在跨 10.4.255.255 广播,但我无法访问它。
如果可能的话,我想继续使用 IO::Socket::INET。

编辑:我检查了 recv(..) 和 $! 的返回值。recv(..) 和 $! 没有返回值 =“未知错误”。

编辑 2:我正在尝试使用 Socket;现在并具有以下内容:


它会生成错误——recv: Unknown error at ...

0 投票
2 回答
2082 浏览

perl - 为什么我的系统调用不能在我用 pp 包装的 Perl 程序中工作?

我有一个在 Win32 ActivePerl 上运行的 Perl/POE/Tk 脚本,它使用system. 我使用pp. 我可以解压 exe 并在“zip”文件目录的根目录下查看可执行文件,但是当我运行 exe 并尝试使用系统调用的功能时,我得到“找不到文件”类型的错误;

cpau.exe 是包含的文件之一。

pp被称为:

我猜我需要调整system呼叫的路径。我目前正在尝试使用默认路径;

我试过这个:

推理 pp 将脚本放在 \scripts\ 目录中,但没有乐趣。有什么建议么?

0 投票
5 回答
25522 浏览

perl - 如何为 ActivePerl 安装 XML::LibXML?

我是 Perl 新手,我正在使用ActivePerl。我收到以下错误:

在@INC 中找不到 XML/LibXML.pm...

我已经尝试了所有方法,但找不到为 XML::LibXML 安装“正确”模块的步骤。

这正是正在发生的事情。我正在从命令提示符运行脚本:

c:\temp>perl myscript.pl

myscript.pl 的前几行:

然后我得到这个错误:

c:\temp>perl myscript.pl Can't locate XML/LibXML.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at myscript.pl line 7. BEGIN failed——编译在 myscript.pl 第 7 行中止

0 投票
5 回答
3192 浏览

perl - 为什么即使在我使用 FindBin 调整 @INC 之后,我的 Perl 脚本也找不到我的模块?

我希望能够使用保存在我的源代码存储库的 lib 目录中的模块,并且我希望开发人员使用我正在编写的脚本的唯一先决条件是安装标准的Perl,但我不知道如何做到这一点。

在我的脚本中,我有

我把模块放在./lib 中。我验证了这是模块存在的实际位置(通过重命名它并导致它失败)。但是,即使该模块位于任意 lib 目录中,似乎仍然需要ppm了解该模块。

如果没有首先由ppm “安装”,我无法让我的脚本在 lib 中找到/使用它。我想应该有某种解决方法。

我知道这可能是一个非典型的要求,但我的目标可能是非典型的。我只希望开发人员进行结帐并立即使用一些脚本,而无需运行一些额外的命令或使用包管理器。

感谢您的任何见解。

编辑:我更新了一个完整的例子。我还意识到,如果我通过 ppm 卸载它(但将 pm 保留在引用的目录中),我可能必须更改我的语法,而我之前没有考虑过。所以也许我必须给出一个完整的路径或使用像 jheddings 或 BipedalShark 提议的要求(即,如果它没有“安装”,那么我必须使用“要求”并将“.pm”附加到它或使用 BEGIN 块。

如果是这种情况,那么我还没有找到正确的语法。

编辑 2:根据下面的评论,我意识到我可能有一个有缺陷的假设。我的理由是:如果我直接引用实际代码“.pm”,那么我应该能够在不使用包管理器的情况下使用它。也许情况并非如此,或者如果我想这样做,也许我必须以不同的方式来做。或者,我可能不得不重构“.pm”中的代码。

编辑3:我认为我误解了一些事情。我的 IDE 中的错误消息“Compilation failed in require”,突出显示了我用来包含模块的行,以及控制台错误消息“Can't locate loadable object for module Win32::Console::ANSI”

我将其视为加载模块本身的问题,但这似乎是由模块本身尝试加载的某些东西引起的问题。有趣的是,这只是一个问题,因为我没有使用 ppm install 。

它正在寻找实际的模块。我能够通过注释掉故障行来验证这一点。

感谢您的帮助,但我将不得不花更多时间来处理它。

0 投票
5 回答
670 浏览

perl - ActivePerl 在安装过程中“重新定位”文件时在做什么?

鉴于我已经编译了一些 unix 程序,我可能需要做些什么才能将它重新定位到不同的目录并让它继续正确运行。

我正在考虑 Perl,但会对像 Apache 这样的其他系统感兴趣,这些系统在完成后似乎也会失败。为了激发这个问题,在将其他系统捆绑为产品安装的一部分时,能够执行这种重定位将非常有用。

对于它的价值,ActivePerl 的安装过程似乎包含一些在安装过程中执行重定位的魔法。

谁能告诉我“搬迁……”这条线背后发生了什么?

0 投票
3 回答
6391 浏览

perl - 如何为 ActivePerl 安装 Email::Send::Gmail?

我正在尝试安装该模块以进行邮件发送。

我收到以下错误:

我试图安装 IO::Socket::SSL 但我也遇到了很多错误

知道有什么问题吗?感谢帮助。当我尝试安装 Net::SMTP::SSL 时,出现以下错误:

抱歉,我粘贴的不是代码,只是无法做到这一点。

我现在安装了它,但我仍然收到错误

你如何像代码一样粘贴代码?对不起,我又把它贴坏了。