Perl 完全指南
Perl 完全指南
“There’s more than one way to do it.” — Perl 的座右铭(TMTOWTDI)
欢迎来到 Perl 完全指南。本教程共 25 章,覆盖从环境搭建、语法基础到 Web 开发、数据库操作、并发编程及生产实践的完整知识体系。无论你是编程新手还是有经验的开发者,都能从中找到所需的内容。
适合谁阅读?
| 读者类型 | 推荐起点 |
|---|---|
| 编程新手 | 从第 1 章开始,按顺序学习 |
| 有其他语言基础 | 第 1-4 章快速过一遍,重点看第 5-9 章 |
| 老 Perl 程序员 | 直接跳到第 11、17、24 章了解 Modern Perl |
| 运维/自动化工程师 | 重点看第 12、19、20、25 章 |
章节目录
| 章 | 主题 | 关键词 |
|---|---|---|
| 01 - Perl 简介与生态 | 历史、CPAN、适用场景 | TIMTOWTDI, CPAN, Larry Wall |
| 02 - 安装与环境配置 | perlbrew, cpanm, IDE | perlbrew, cpanm, Perl::LanguageServer |
| 03 - 第一个 Perl 程序 | 脚本运行、strict、warnings | shebang, strict, warnings |
| 04 - 变量与数据类型 | 标量、数组、哈希、上下文 | scalar, array, hash, context |
| 05 - 运算符 | 算术、字符串、正则绑定 | =~, <=>, cmp, // |
| 06 - 控制流 | if, unless, for, foreach, while | statement modifier, loop |
| 07 - 函数与子程序 | 参数传递、返回值、作用域 | sub, @_, my, wantarray |
| 08 - 正则表达式 | 匹配、替换、捕获组 | m//, s///, capture, lookahead |
| 09 - 引用与复杂数据结构 | 标量/数组/哈希引用、匿名数据 | reference, [], {}, -> |
| 10 - 模块与包 | package, use, require, 导出 | Exporter, @INC, namespace |
| 11 - 面向对象编程 | bless, 继承, Moose, Moo | OOP, Moose, Moo, Class::Accessor |
| 12 - 文件与目录操作 | 文件句柄、目录操作、文件测试 | open, File::Spec, -f, -d |
| 13 - 字符串处理 | heredoc、格式化、Unicode | sprintf, Encode, UTF-8 |
| 14 - 错误处理与异常 | eval, die, 异常类, autodie | eval {}, Try::Tiny, autodie |
| 15 - CPAN 深度使用 | cpanm, 模块安装, 发布流程 | MetaCPAN, Dist::Zilla, PAUSE |
| 16 - 数据库编程 | DBI, DBIx::Class, 连接池 | DBI, DBIx::Class, DBIx::Connector |
| 17 - Web 开发 | Mojolicious, Dancer2, PSGI | Mojolicious, Dancer2, PSGI/Plack |
| 18 - 测试 | Test::More, Test::Mojo, TAP | TAP, prove, Test::Mojo |
| 19 - 并发与异步编程 | threads, fork, IO::Async, AnyEvent | threads, fork, event loop |
| 20 - 特殊变量与全局符号 | $_, @ARGV, %ENV, 特殊变量 | Perlvar, magic variables |
| 21 - POD 文档 | POD 格式, perldoc | =head1, perldoc, Pod::Simple |
| 22 - Docker 中的 Perl | Docker 镜像, 容器化部署 | Dockerfile, perl:slim, carton |
| 23 - 性能优化 | Profiling, 优化技巧, XS | NYTProf, XS, Inline::C |
| 24 - 最佳实践 | 代码风格, Modern Perl, 生产规范 | Perl::Tidy, perlcritic, Mojolicious |
| 25 - 实战项目 | 日志分析, 系统管理, Web API | awk replacement, cron, REST API |
学习路线图
基础篇 (第 1-7 章)
├── 环境搭建 → 基本语法 → 变量与类型 → 运算符 → 控制流 → 子程序
│
进阶篇 (第 8-14 章)
├── 正则表达式 → 引用 → 模块 → OOP → 文件 I/O → 字符串 → 错误处理
│
生态篇 (第 15-21 章)
├── CPAN → 数据库 → Web → 测试 → 并发 → 特殊变量 → POD
│
实战篇 (第 22-25 章)
└── Docker → 性能优化 → 最佳实践 → 真实项目
如何使用本教程?
- 每章独立可运行:所有代码示例均可直接复制运行
- 循序渐进:建议按章节顺序学习,后续章节会引用前面的知识
- 动手实践:每章末尾都有练习题,建议亲自动手完成
- 扩展阅读:每章提供了官方文档和推荐资源链接
环境要求
| 组件 | 最低版本 | 推荐版本 |
|---|---|---|
| Perl | 5.26 | 5.38+ |
| OS | Linux / macOS / WSL | Ubuntu 22.04+ |
| cpanm | - | 最新 |
| perlbrew(可选) | - | 最新 |
提示:如果你是完全的编程新手,建议先安装好 Perl 环境(参见第 2 章),然后边看教程边敲代码。