Perl 语法速查
共 30 条 Perl 常用语法,覆盖基础语法、字符串与正则、文件与输入、常用操作、命令行 五组内容。支持搜索与分类筛选,点击即可复制。
基础语法
以 sigil 区分变量类型。
| 语法 / 命令 | 说明 |
|---|---|
| $ 标量(单个值) | |
| @ 数组 | |
| % 哈希(键值对) | |
| 双引号内插值(单引号不插值) | |
| 条件修饰符(unless / if 后置) | |
| 推荐始终开启,强制声明变量、显示警告 |
字符串与正则
Perl 的正则能力是其招牌。
| 语法 / 命令 | 说明 |
|---|---|
| 匹配(=~ 绑定操作符) | |
| 替换(s///,g 全局) | |
| 匹配并取捕获:my ($a) = $s =~ /(\d+)/ | |
| 字符转换(大小写 / 替换字符) | |
| 按分隔符拆分 | |
| 把数组拼成字符串 | |
| 常见清理:去掉行尾空白 |
文件与输入
句柄与逐行读取。
| 语法 / 命令 | 说明 |
|---|---|
| 打开文件(读取) | |
| 逐行读取 | |
| 写入文件 | |
| 去掉行尾换行符 | |
| 读取命令行传入的文件或标准输入 |
常用操作
数组、哈希与排序。
| 语法 / 命令 | 说明 |
|---|---|
| 数组长度 / 最后一个索引 | |
| 尾部压入 / 弹出(shift / unshift 为头部) | |
| 数值排序(字符串用 cmp) | |
| 映射($_ 为当前元素) | |
| 过滤 | |
| 哈希键 / 值 |
命令行
一行式与模块。
| 语法 / 命令 | 说明 |
|---|---|
| 运行脚本并传参(@ARGV) | |
| 执行一行代码 | |
| 逐行过滤(-n 隐含循环,$_ 为当前行) | |
| 就地编辑并备份 .bak | |
| 安装 CPAN 模块 | |
| 只做语法检查 |
使用说明
Perl 语法速查:基础语法、字符串与正则、文件与输入、数组哈希操作、命令行一行式;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、字符串与正则、文件与输入、常用操作、命令行。
- 点「语法 / 命令」列复制,替换变量名、路径与模式后使用。
- 脚本开头始终加 use strict; use warnings; 减少低级错误。
- 文本处理一行式很高效:perl -ne / -pe 配合正则。
常见问题
- $、@、% 分别代表什么?
- 它们是 sigil:$ 表示标量(单个值)、@ 表示数组、% 表示哈希(键值对)。同名变量在不同 sigil 下是相互独立的。
- =~ 是做什么的?
- 绑定操作符,把正则作用于某个变量,例如 $s =~ /foo/ 判断是否匹配、$s =~ s/a/b/g 做替换。不加 =~ 则默认作用于 $ _。
- 为什么建议开启 strict 和 warnings?
- strict 强制变量声明、限制符号引用等,warnings 让潜在问题(未初始化值、重复声明)显式报出,能提前发现大量 bug,属 Perl 最佳实践。
- 怎样在命令行就地修改文件?
- 用 -i 配合 -pe:perl -i.bak -pe "s/foo/bar/g" file,会就地替换并(加 .bak 时)备份原文件,比手写脚本更快。
延伸阅读
相关工具
FLX
Flux CD 速查
bootstrap / source git / kustomization / reconcile 速查
K9S
k9s 速查
:pods / describe / logs / shell 速查
TRV
Trivy 速查
trivy image / --severity / --exit-code 速查
TG
Terragrunt 速查
run-all / include / dependency / generate 速查
TKN
Tekton 速查
Task / Pipeline / PipelineRun / Trigger 速查
VGT
Vagrant 速查
vagrant up / box / synced_folder / provision 速查