问题标签 [perl-core]

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 投票
1 回答
81 浏览

perl - 如何检查 Perl 核心中模块的错误历史记录?

最近,我问了一个关于调试 seg fault 的问题:在 Perl 中调试 seg fault 有哪些好的方法或步骤?. 有人提到,Symbol有一些深厚的 XS 魔力。

我想知道是否可以找到 Perl 核心模块的错误历史记录。我尝试查看CPAN,但更改文档保留在项目级别而不是模块级别。

看,我们运行 Perl 5.8.2 和 Symbol v1.05,我只是想知道我们的问题之一是否与该版本和当前版本之间发生的错误修复有关。

0 投票
3 回答
360 浏览

perl - 是否可以象征性地引用 Perl 核心模块?

我知道我可以轻松地做类似的事情

并象征性地为我需要符号引用的每个函数引用它,但我只想知道是否有办法做类似的事情

对比

这有效,但不适用于核心功能。

谢谢。

0 投票
1 回答
366 浏览

perl - Perl 的核心库是如何管理的?

据我了解,Perl 传统上只包含核心功能,人们安装额外的库来做各种有用的(有时是非常基本的)事情。但是在某些时候,出现了默认情况下随 Perl 提供的“核心库”——因此您可以在不安装它们的情况下使用这些库。

来自 Python,我很好奇这是如何管理的。具体来说:

  1. 图书馆是如何选择的?
  2. 这些库是否还有自己的版本号和发布时间表?
  3. 使用这些库时,您有什么样的向后兼容性保证?
  4. 在系统中升级或降级这些库是否常见?这是在系统范围内完成的还是更具体的?
  5. 如果有需要更改 API 的错误修复,这是如何发生的?
  6. 如何将功能添加到这些核心库中(如果有的话)?
0 投票
1 回答
481 浏览

perl - Disk usage in Perl Core

I’m looking for a way to check the remaining free space on a disk within Perl. I can’t use CPAN since I have to deploy the script on many servers with different versions of Perl, and I can’t change it because my team leader ordered me that way.

Any idea? I tried File::stat but I can’t use it on D:\ (the script runs on Windows versions).

Thanks!

0 投票
1 回答
1094 浏览

perl - Perl 时区转换 - 但仅使用核心模块

将来是否可以仅使用 Perl 核心模块为“任意”日期进行时区转换?

假设我在时区 X 中有 Day:month:year, hr:min(假设它是一个完全合格的时区,如 America/New_York),我需要将其转换为时区 Y(比如 Asia/Kolkata)

一些注意事项:

1) 这适用于 OSX (Lion 或以上)

2) 我知道如何使用 DateTime 和 DateManip,但这些不是核心模块,需要安装 C 编译器。我正在尝试将我的程序分发给“非技术”用户——他们可以在帮助下安装 perl 模块,但在尝试让 XCode、命令行工具等工作时崩溃了。有些人试图安装 DateTime 但他们陷入了错误/依赖关系并放弃了。

3)我尝试使用 tzset 的组合;和 ENV TZ - 但不能用于任意日期 - 仅适用于当地时间(这意味着,我可以将“现在时间”转换为任何时区)

0 投票
4 回答
141 浏览

perl - 如何从模块的 CPAN 页面判断它是否在核心发行版中?

例如,当浏览search.cpan.org 上的 Time::HiRes 文档时,页面本身是否有一些迹象表明该模块现在是 Perl 核心分发的一部分?我知道我通常可以通过一些谷歌搜索找到它,但我想知道是否有更简单的方法。

0 投票
1 回答
153 浏览

perl - 安装 Chef 后从 Perl 调用 dos 命令无法正常工作

在 Windows 上安装 Chef 后,我发现如果某些 dos 命令包含正斜杠,则它们不再在 Perl 中工作。例如,`dir /AD .`在 Perl 中运行现在会给您一些警告,例如dir: /AD: No such file or directory. 我知道正斜杠指向 chef-client 进程当前工作目录的根目录。但这真的很烦人,这也会影响 Perl。有没有什么办法解决这一问题?谢谢。

澄清问题的更多信息:我正在使用带有 ActivePerl 5.8.8 和 Chef 客户端 11.12.2-1 的相当干净的 win7 64 位机器。该问题显然与 Chef 安装有关。首先,当我安装和卸载 Chef 客户端时,它会打开和关闭。其次,当我运行时dir /,它会列出 C:\opscode\chef\embedded 文件夹的内容。

0 投票
1 回答
567 浏览

perl - Perl : IO::Uncompress::Unzip : 获取 zip 中文件的最后修改日期

我目前正在使用核心模块 IO::Uncompress::Unzip 来读取 Perl 中 zip 文件的内容。我之前使用过Archive::Zip,这是一个很棒的模块,并没有让我很头疼,但它并没有捆绑为核心模块。

我想获取压缩在我的 zip 文件中的文件的最后修改时间。例如,我有以下文件:“test.zip”,其中包含“1.txt”、“2.txt”、“3.txt”。例如,zip 文件是今天最后一次修改的,而 txt 文件是一周前修改的。如何获取 zip 中每个压缩文件的最后修改日期?我可以用 Archive::Zip 很容易地做到这一点,但不能用这个模块..

这是我正在使用的代码:

有什么想法或解决方法可以解决我的问题吗?

谢谢 !

0 投票
1 回答
291 浏览

perl - Perl “do”,相对路径以“.”开头 或者 ”..”

我正在尝试将 Perl 的do EXPR函数用作穷人的配置解析器,使用第二个 .pl 文件,该文件只返回一个列表作为配置信息。(我认为这可能是 的理想用途do,尤其是因为我可以do or die在我的代码中写“”。)这是一个例子:

主文件

配置文件

阅读Perldocdo提供了很多关于相对路径的有用建议 - 搜索 @INC 和修改 %INC,关于 5.26 的特殊警告不搜索“。” 等等。但它也有这些位:

# 加载确切的指定文件(./ 和 ../ 特殊情况) ...


将 do 与相对路径一起使用(./ 和 ../ 除外),例如...

然后它实际上从不费心解释“./”或“../”的特殊情况路径处理 - 一个重要的遗漏!

所以我的问题都是关于“当你真正发生了什么do './file.pl';”的变体?例如...

  • 尽管 CWD 从 @INC 中删除,但此语法在 5.26 中是否仍然有效?
  • 无论如何,从谁的角度来看是“./”:Perl 二进制文件、执行的 Perl 脚本、来自用户 shell 的 CWD,还是其他?
  • 是否存在需要注意的安全风险?
  • 这比修改@INC 并仅使用基本文件名更好还是更差?

任何见解都值得赞赏。

0 投票
2 回答
523 浏览

perl - 模棱两可的调用解析为 CORE::join(),符合条件或使用 & at

我得到了错误:

当我将错误修复为:

一切正常。

但是当我将其修复为:

正如错误消息所建议的,我得到了不同的错误:

为什么第二次修复不起作用?