问题标签 [cpan]

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 投票
19 回答
1032 浏览

perl - 什么是对非 Perl 开发人员的有效 Perl 培训?

我使用 Perl 的时间已经够长了,以至于它的许多特性已成为我的第二天性。当新程序员加入我们的团队时,他们通常几乎没有 Perl 经验,而我的任务通常是培训他们(在必要的范围内)。我想知道在培训刚接触 Perl 但有其他语言经验的程序员时应该关注什么(这个问题与语言无关,但我合作过的大多数开发人员都来自 Java)。

我想到了几件事:

  • 符文的正确使用
  • 引用/取消引用
  • 使用列表函数,如mapgrepsort

在帮助程序员过渡到 Perl 时,您发现有什么特别有用的地方吗?您是否强调相同点或不同点,或者两者都同等重要?

0 投票
4 回答
6967 浏览

perl - Perl 有哪些代码覆盖工具?

Perl 有没有好的(最好是免费的)代码覆盖工具?

0 投票
8 回答
6761 浏览

perl - 在部署 Perl 项目之前如何确定 CPAN 依赖项?

有没有人对找到定制开发项目中可能出现的所有 CPAN 依赖项的好方法有任何建议。通常情况下,您的本地开发环境很少与您的实际环境相匹配,并且随着您构建越来越多的项目,您倾向于构建本地已安装模块的库。然后,这些会导致您不一定注意到您的最新项目对非核心模块有要求。由于通常需要将整个项目打包以部署到另一个组(在我们的例子中是我们的运营团队),因此了解包中应包含哪些模块非常重要。

有没有人对这个问题有任何见解。

谢谢

彼得

0 投票
11 回答
24190 浏览

perl - 如何在没有安装权限的情况下使用新的 Perl 模块?

这是我的情况:我对 Perl 几乎一无所知,但它是移植机器上唯一可用的语言。我只有在我的本地工作区而不是 Perl 安装位置中写入的权限。我需要使用 CPAN 中的Parallel::ForkManager Perl 模块

如何在不进行中央安装的情况下使用此 Parallel::ForkManager?是否有我可以设置的环境变量以便将其定位?

谢谢

京东

0 投票
11 回答
32025 浏览

html - 如何在 Perl 中从 HTML 中提取 URL 和链接文本?

我之前问过如何在 Groovy 中做到这一点。但是,由于所有 CPAN 库,现在我正在用 Perl 重写我的应用程序。

如果页面包含这些链接:

输出将是:

在 Perl 中执行此操作的最佳方法是什么?

0 投票
6 回答
55893 浏览

perl - 如何安装一组 Perl 模块的特定版本?

我的任务是复制生产环境以创建许多测试/坐席环境。

我需要做的一件事是构建 Perl,以及多年来已安装的所有模块(包括内部和外部模块)。我可以只使用 CPAN.pm autobundle,但这将导致测试环境具有生产环境中的外部模块的更新版本。

获取和安装(大量)特定于版本的 Perl 模块的最简单/最佳方法是什么。

0 投票
11 回答
1932 浏览

perl - 我应该教初学者 Perl 程序员什么?

我将花 30 分钟向有经验的程序员教授 Perl。学习 Perl 的最好方法是编写代码。除了 CPAN,你会向程序员展示什么,以便他们了解 Perl 的表达能力、CPAN 提供的大量功能,同时保持一切干净整洁,以便他们对语言感到满意?我会把棘手的东西留到另一天。


这就是我想出的...

从哪儿开始

信不信由你,手册页。好的,我们将只使用 perldoc 来对 Windows 友好。

perldoc 页面(或 Unix/Mac 上的手册页)非常适合 Perl。您可以键入 man perl 或 perldoc perl

perldoc perl ; # 展示一个概览和几十个教程;man perl 也是一样。

perldoc perlintro ; # 给初学者的 Perl 介绍;man perlintro
perldoc perlrequick ; # Perl 正则表达式教程示例

perldoc perlfunc ; # 显示 Perl 内置函数
perldoc perlre ; # 更多 Perl 正则表达式。

CPAN

Perl 库站点 CPAN 上有数千个库。
perl -MCPAN -e '安装日期时间'

perldoc 也适用于已安装的模块:perldoc module

perldoc DateTime
perldoc DBI ; # 数据库 API。如果这不起作用,请安装它:
         perl -MCPAN -e 'install DBI'

推荐模块

perl -MCPAN -e '安装 Moose' ; # Perl 做 OOP
perldoc Moose ; # 告诉我更多关于 Moose
perl -MCPAN -e 'install CGI' ; # 快速而肮脏的网页
perl -MCPAN -e 'install Catalyst' ; # 大型网络框架。有时安装有问题。谷歌是你的朋友
perl -MCPAN -e 'install CGI::Application' ; # 另一个 web 框架
perldoc CGI::Application ; # 快速查看文档

A little Q&A。

问:为什么我应该使用 Perl 而不是 Ruby 或 Python?
A:越来越多的人使用 Perl。Perl 有更多的库(方式更多)。Perl 是一种非常棒的 GTD 语言。

问:为什么人们讨厌 Perl?
A:你可以用它做一些丑陋的事情。记住使用警告;使用严格;在您的所有代码中。您可以在运行之前检查您的代码。 perl -c hello.pl


Perl 主题

将 Perl 与数据库一起使用

http://www.perl.com/pub/a/1999/10/DBI.html

使用 Perl 进行 Web 开发

http://www.catalystframework.org

面向对象的 Perl

http://www.iinteractive.com/moose

Perl 1-Liners

http://www.perlmonks.org/?node_id=470397
http://sial.org/howto/perl/one-liner

其他教程

http://perlmonks.org/index.pl?node=Tutorials

图书

有几十个。
http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Dstripbooks&field-keywords=perl&x=0&y=0

网站

Perlmonks
Perl.org
Pleac
StackOverFlow's Hidden Features of Perl
CPAN FAQ
Randall Schwartz 的文章


获得帮助

Perl Nabble 论坛
IRC 频道:freenode、irc.perl.org。有几个:

irc://irc.perl.org/perl
irc://irc.perl.org/catalyst
irc://irc.freenode.net/modperl
irc://irc.perl.org/perl6

0 投票
3 回答
25501 浏览

perl - 我如何告诉 CPAN.pm 从哪里获取模块?

这是 CPAN 的完整安装命令和输出:

这对我有用,谢谢...

cpan> o conf urllist http://cpan.yahoo.com/

当然,Bundle::CPAN 安装在其他依赖项上继续失败,但至少我现在有一个 YAML 0.68。

0 投票
5 回答
1160 浏览

perl - 是否有解析嵌套括号的 CPAN 模块?

是否有可以读取这样的字符串的 CPAN 模块:

...并将其解析为某种易于行走和打印的树结构?

0 投票
5 回答
26020 浏览

perl - 如何找到我的 Perl 脚本的模块依赖项?

我希望另一个开发人员运行我编写的 Perl 脚本。该脚本使用许多 CPAN 模块,必须先安装这些模块才能运行该脚本。是否可以让脚本(或perl二进制文件)转储所有缺失模块的列表?当我尝试运行脚本时,Perl 会打印出丢失模块的名称,但这很冗长,并且不会一次列出所有丢失的模块。我想做类似的事情:

甚至:

有没有简单的方法来做到这一点?这不是一个表演障碍,但我想让其他开发人员的生活更轻松。(所需的模块分散在几个文件中,因此我很难手动列出列表而不会遗漏任何内容。我知道PAR,但对于我想要的来说似乎有点太复杂了。)


更新:谢谢,曼尼,这样就可以了。我不知道%INC,我只知道@INC。我解决了这样的问题:

打印出来:

看起来这会奏效。