Perl
来自 Wikipedia
- Perl 是一种高级、通用、解释型、动态编程语言。
- Perl 借鉴了 C、sh、AWK 和 sed 等其他编程语言的特性。它提供了文本处理功能,而没有许多当代 Unix 命令行工具的任意数据长度限制。
- Perl 在 20 世纪 90 年代中期作为 CGI 脚本语言获得了广泛普及,这在一定程度上归功于其强大的正则表达式和字符串解析能力。
安装
命令
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 绑定
- perl-gtk3 — GTK3 绑定
- Perl/TK — Tk 绑定
- wxPerl — wxWidgets 绑定
- http://www.wxperl.it/ || perl-wxAUR
- Prima — 一个 Perl 多平台图形工具包
要将它们与 Perl 一起使用,您可能需要安装相关的 widget 工具包。
IDE 支持
JetBrains IDE 中的开发
如果您正在使用 JetBrains IDE,例如 IntelliJ Idea,请安装 perl-bundle-camelcadeAUR。然后安装 Perl 插件。然后进入 *设置 > 语言和框架 > Perl5*。在 *Perl 5 Interpreter* 字段中选择 *Add System Perl*。现在您可以为您的项目配置运行/调试配置并开始调试。
技巧与提示
Perl 开发环境
perlbrew 和 plenvAUR 可以在您的主目录下自动化安装和管理多个 Perl 版本,让您可以在不干扰系统 Perl 的情况下本地安装模块。
改进的模块管理
cpanminus
cpanminus 扩展了模块管理,旨在实现零配置,并与 local::lib 集成。
有关示例,请参阅 cpanminus 文档。
ucpan
ucpan 是 CPAN 模块(特别是安装在 local-lib 中的模块)的更新程序。要安装,请运行:
$ cpan App::ucpan
Bundle::CPAN
安装 Bundle::CPAN 发行版将为 CPAN.pm 添加许多有用的功能。
$ cpan Bundle::CPAN