问题标签 [metacpan]

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 回答
619 浏览

perl - 如何在 MetaCPAN 上进行滚动搜索?

我正在尝试将此脚本转换为使用新的Elasticsearch 官方客户端而不是旧的(现已弃用)ElasticSearch.pm,但我无法让滚动搜索工作。这是我所拥有的:

第一次搜索,我只是在一个块中获得所有结果,工作正常。但是我试图滚动浏览结果的第二次搜索会产生:

我究竟做错了什么?我正在使用 Elasticsearch 0.75 和 Elasticsearch-Cxn-NetCurl 0.02 和 Perl 5.18.1。

0 投票
1 回答
59 浏览

perl - 如何在 MetaCPAN 上找到开发者版本?

如果该模块仅作为开发人员版本提供,是否可以在MetaCPAN上找到该模块?

0 投票
1 回答
115 浏览

perl - 在 Devel::CoverReport::DB 中 .12 和 .13 格式是什么意思?

我正在使用“Devel::Cover”cpan 模块生成覆盖范围,该模块生成cover_db 并在内部有一个运行子目录。在运行目录中,我得到文件cover.14。如何获得 .12 或 .13 格式的文件,这种 .12、.13 或 .14 格式是什么意思?当我使用“Devel::CoverReport”模块的cover_report 生成此文件的html 报告时,根据模块的以下子例程提到它支持.12 和.13 格式,但我得到的是.14 格式

下面是在 Devel::CoverReport::DB 中使用的子程序,它显示 .12 或 .13 格式。

read_db_file

读取并解析 DB 文件,然后返回文件中的数据结构。

默认情况下,它假定该文件是可存储的数据转储。当 storable 失败时,它会尝试使用 JSON 来加载数据。

此方法支持读取 .12 和 .13 文件格式。它可以自动检测它是用可存储的还是 JSON 序列化的。

如果可能的话,解释一下这个子程序是什么意思。

0 投票
1 回答
67 浏览

perl - 为什么同一个模块在 metacpan.org 上列出了 3 次?

Devel::Peekmetacpan.org上搜索会得到以下屏幕截图:


在此处输入图像描述


为什么模块被列出了三遍?(它看起来有点奇怪,很容易混淆用户..)

0 投票
0 回答
402 浏览

perl - 当我只想要 Mo 时,为什么 CPAN.pm 安装 Moose?

我需要一个 perl5 脚本中的轻量级对象系统。在阅读了Mouse.pmMoo.pmMo.pm的文档后,我在 Moo 和 Mo 之间折腾。最终的决定因素是 Mo 模块没有依赖关系(见页面右侧 - ”依赖项”是灰色的)。

因此,我继续进行我认为简单的安装:

所以我的问题是 - 为什么它认为它需要MouseIO::All而且,最痛苦的是,Moose?请注意,我可以看到它说 [requires,optional] - 但我认为这两个术语是矛盾的。

0 投票
2 回答
60 浏览

perl - 如何使 CPAN::Meta::Spec 的“先决条件”需要分发而不是包?

我正在研究如何打包我的一些 Perl 应用程序并更好地管理它们的依赖项,以使我和我的客户更容易分发,这很可能根本不包括上传到 CPAN。相反,如果有必要,我会提供自定义 repos,或者更有可能的是访问像 Subversion 这样的 SCM。

CPAN::Meta::Spec似乎提供了我需要描述我的应用程序、它们的依赖关系甚至从何处获取它们的内容,但我想知道的是先决条件的详细程度。该规范包含以下句子:

必须将关系集指定为包名称到版本范围的映射。

对我的需求来说,要求包似乎有点太低了,我宁愿要求发行版。像 Maven 和 Gradle 这样的级别(根据我的理解)工具几乎可以工作,例如 Apache Commons Lang 与 Apache Commons IO 等,而不是像org.apache.commons.lang3.AnnotationUtilsor之类的单个类org.apache.commons.io.ByteOrderMark。OTOH,文档中的示例包含以下几行:

包含的行perl对我来说看起来不像一个包,我没有在我的系统上找到一些package perl或任何地方。perl.pm在我看来,这与示例中的其他事情的处理方式不同。

我有一个系统范围的文件夹,其中包含例如一些实用程序包,这对我来说似乎与一些抽象相当perl。该文件夹应该被定义为一个发行版,为该文件夹中的所有包维护一个版本号,因此应该允许其他应用程序访问require整个内容。如果我正确理解文档,我不仅需要META.yml在文件夹中创建,还需要创建一些,例如sysutils.pm包含package sysutils;和定义一些版本。

有什么方法可以避免创建该文件,而实际上require只创建发行版本身?

META.yml本身已经包含一个名称和版本,所以看起来像一些require理论上可以抽象的东西。我不认为需要添加一个额外的.pm-file 代表分发本身只是为了允许require工作。在我的情况下,它不包含任何业务逻辑。

谢谢!

0 投票
1 回答
32 浏览

perl - 结构“提供”的关键“文件”如何与“CPAN::Meta::Spec”的“META.*”一起使用?

我试图更好地理解我可以使用 什么,并在 key规范CPAN::Meta::Spec中遇到以下句子:file

[...]到包含或生成包的文件。它可以作为 META.yml 或 META.json 给出,以声明用于索引的包,而不需要 *.pm。

这句话对我来说就像一个能够META.*使用文件路径而不是*.pm. 因此,使用it, 这显然与前面提到的路径相关联。很像下面的例子:

因此,虽然Foo/Bar2.pmFoo/Bar3.pm可能存在于发行版中,但它们没有显式定义,而是隐式使用META.*文件。

  1. 这样的META.*外观如何,它包含什么?name只有和之类的东西version,这也是原生 Perl 包可能提供的东西?license或者像and之类的其他东西keyword,也许除了依赖关系之外的所有东西?

  2. CPAN 客户如何处理这种情况?META.*显然不是 Perl 包本身,我看不出它是如何用来生成它的。那么最终实际安装在系统中的是什么?是否有一些额外的机制以某种方式生成包?

  3. 如何提供META.*而不是*.pm兼容密钥version和以下限制:

[...]如果包没有 $VERSION,则必须省略此字段。

在这种情况下是否META.*算作一个包含的包裹$VERSION?或者是否期望最终以某种方式生成包并且必须也具有$VERSION并且只要不生成包,META.*就可以简单地使用的版本?

感谢您的澄清!

0 投票
1 回答
20 浏览

metacpan - 为了更改您的个人资料,您必须将您的帐户连接到 PAUSE

我刚刚在https://metacpan.org开设了一个帐户,并想编辑我的个人资料。但是,CPAN 需要一个PAUSE帐户。

为了更改您的个人资料,您必须将您的帐户连接到 PAUSE

当我点击链接时,会弹出一个提示:Please enter your PAUSE ID:

错误出现在配置文件页面上。

什么是暂停 ID?谷歌搜索它把我带到预订网站。

0 投票
2 回答
56 浏览

perl - 如何在同一发行版中创建从模块到脚本的 Pod 链接?

考虑这个模块App::TimeTracker。如果您单击该部分中的tracker链接,您将到达此处,而您应该已到达此处这里给出了负责该行为的 Pod 源代码,这表明使用了以下 Pod 格式化代码:SYNOPSIS

我可以通过提供绝对链接来解决问题:

但这修复了指向 3.000 版本的链接,该版本将来可能会更改。

那么一般应该怎么做呢?

0 投票
1 回答
174 浏览

perl - 如何通过 Email::Simple 发送电子邮件?

我想发送电子邮件。我的Email::Simple(模块版本 2.216)对象是:

在这里通讯停止了。我这边正在等待邮件服务器,邮件服务器正在等待我这边的东西。然后服务器因超时断开连接

如何通过正确发送 utf8 文本Email::Simple

我的代码:

UPD
邮件正文是:

Encode::decode( 'utf8', $body )我收到错误时:

当我Encode::encode( 'utf8', $body )

并且寄出

然后一切都很好: