跳转至内容

Perl

来自 ArchWiki
(重定向自 CPAN)

来自 Wikipedia

Perl 是一种高级、通用、解释型、动态编程语言。
Perl 借鉴了 C、sh、AWK 和 sed 等其他编程语言的特性。它提供了文本处理功能,而没有许多当代 Unix 命令行工具的任意数据长度限制。
Perl 在 20 世纪 90 年代中期作为 CGI 脚本语言获得了广泛普及,这在一定程度上归功于其强大的正则表达式和字符串解析能力。

安装

安装 perl 包。

命令

Perl 语言解释器

$ perl

Perl Bug 报告

$ perlbug

查找 Perl 文档(POD 格式)

$ perldoc

向 Perl 作者和维护者发送感谢信

$ perlthanks

软件包管理

Comprehensive Perl Archive Network (CPAN) 是一个存储库,包含由 12,000 多名贡献者用 Perl 编程语言编写的超过 250,000 个软件模块及配套文档。

CPAN 也是一个名为 CPAN.pm 的 Perl 模块的名称,该模块用于从 CPAN 档案下载和安装 Perl 软件。

pacman 和 AUR

Arch 仓库中一些流行的 CPAN 模块已作为软件包提供。AUR 中还有更多模块可供选择。AUR

CPAN.pm

CPAN.pm 模块随 Perl 一起提供。它可以在 shell 中交互使用,也可以在 Perl 脚本中使用。

配置 cpan

首次使用前,需要配置该模块。可以通过 shell 交互式完成(部分输出已省略)

$ cpan
CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes]

自动配置适合大多数用户。回答“是”,配置将继续进行:

To install modules, you need to configure a local Perl library directory or
escalate your privileges. CPAN can help you by bootstrapping the local::lib
module or by configuring itself to use 'sudo' (if available). You may also
resolve this problem manually if you need to customize your setup.

What approach do you want?  (Choose 'local::lib', 'sudo' or 'manual')
 [local::lib]

如果您希望 cpan 在您的主目录中安装模块,请选择 local::lib。要将它们系统范围地安装,请选择 sudo。选择 sudo 后,配置结束。

Autoconfiguration complete.

commit: wrote '/home/username/.cpan/CPAN/MyConfig.pm'

选择 local::lib 选项将导致安装额外的模块。

选择不使用自动配置允许用户在 shell 中交互式设置 cpan 选项。下表显示了一些选项名称及其简要说明和默认值。在配置过程中,将为每个选项显示更详细的信息。

名称 描述 默认
cpan_home CPAN 构建和缓存目录 $HOME/.cpan
keep_source_where 下载目标目录 $HOME/.cpan/sources
build_dir 构建过程目录 $HOME/.cpan/build
prefs_dir 可定制模块选项目录 $HOME/.cpan/prefs
build_cache 构建目录的缓存大小 100MB
cleanup_after_install 成功安装后删除构建目录
shell 首选 shell /bin/bash
halt_on_failure 失败时停止
colorize_output 启用彩色输出
histfile 历史记录文件位置 $HOME/.cpan/histfile
histsize 历史记录文件大小 100 lines

您可以使用您喜欢的文本编辑器编辑配置文件 $HOME/.cpan/CPAN/MyConfig.pm

使用示例

要简单地安装一个模块,请将其作为参数传递给 cpan (多个模块名称之间用空格分隔)

$ cpan Acme::MetaSyntactic

以下示例均在 cpan 交互式 shell 中进行,使用以下命令启动:

$ cpan

显示模块信息

cpan[1]> m Acme::MetaSyntactic
Reading '/home/username/.cpan/Metadata'
  Database was generated on Fri, 08 Dec 2017 02:17:03 GMT
Module id = Acme::MetaSyntactic
    CPAN_USERID  BOOK (Philippe Bruhat (BooK) <book@cpan.org>)
    CPAN_VERSION 1.014
    CPAN_FILE    B/BO/BOOK/Acme-MetaSyntactic-1.014.tar.gz
    INST_FILE    (not installed)

查看模块 README

cpan[2]> readme Acme::MetaSyntactic
Acme::MetaSyntactic - Themed metasyntactic variables

DESCRIPTION

When writing code examples, it's always easy at the beginning:

   my $foo = "bar";
   $foo .= "baz";   # barbaz
...

安装模块

cpan[3]> install Acme::MetaSyntactic

重新运行 cpan 配置

cpan[1]> o conf init

控件绑定

以下 控件工具包 绑定可用:

  • gtk2-perl — GTK2 绑定
https://gtk2-perl.sourceforge.net/ || gtk2-perlAUR
  • perl-gtk3 — GTK3 绑定
https://metacpan.org/release/Gtk3 || perl-gtk3
  • Perl/TK — Tk 绑定
https://search.cpan.org/dist/Tk/ || perl-tk
  • wxPerl — wxWidgets 绑定
http://www.wxperl.it/ || perl-wxAUR
  • Prima — 一个 Perl 多平台图形工具包
https://metacpan.org/release/Prima || perl-primaAUR

要将它们与 Perl 一起使用,您可能需要安装相关的 widget 工具包。

IDE 支持

JetBrains IDE 中的开发

如果您正在使用 JetBrains IDE,例如 IntelliJ Idea,请安装 perl-bundle-camelcadeAUR。然后安装 Perl 插件。然后进入 *设置 > 语言和框架 > Perl5*。在 *Perl 5 Interpreter* 字段中选择 *Add System Perl*。现在您可以为您的项目配置运行/调试配置并开始调试。

技巧与提示

Perl 开发环境

perlbrewplenvAUR 可以在您的主目录下自动化安装和管理多个 Perl 版本,让您可以在不干扰系统 Perl 的情况下本地安装模块。

改进的模块管理

cpanminus

cpanminus 扩展了模块管理,旨在实现零配置,并与 local::lib 集成。

安装 cpanminus 包。

有关示例,请参阅 cpanminus 文档

ucpan

ucpan 是 CPAN 模块(特别是安装在 local-lib 中的模块)的更新程序。要安装,请运行:

$ cpan App::ucpan

Bundle::CPAN

安装 Bundle::CPAN 发行版将为 CPAN.pm 添加许多有用的功能。

$ cpan Bundle::CPAN

参见

Perl

CPAN

教程