素材阁

Perl 语法速查

共 30 条 Perl 常用语法,覆盖基础语法、字符串与正则、文件与输入、常用操作、命令行 五组内容。支持搜索与分类筛选,点击即可复制。

基础语法

以 sigil 区分变量类型。

语法 / 命令说明
$ 标量(单个值)
@ 数组
% 哈希(键值对)
双引号内插值(单引号不插值)
条件修饰符(unless / if 后置)
推荐始终开启,强制声明变量、显示警告

字符串与正则

Perl 的正则能力是其招牌。

语法 / 命令说明
匹配(=~ 绑定操作符)
替换(s///,g 全局)
匹配并取捕获:my ($a) = $s =~ /(\d+)/
字符转换(大小写 / 替换字符)
按分隔符拆分
把数组拼成字符串
常见清理:去掉行尾空白

文件与输入

句柄与逐行读取。

语法 / 命令说明
打开文件(读取)
逐行读取
写入文件
去掉行尾换行符
读取命令行传入的文件或标准输入

常用操作

数组、哈希与排序。

语法 / 命令说明
数组长度 / 最后一个索引
尾部压入 / 弹出(shift / unshift 为头部)
数值排序(字符串用 cmp)
映射($_ 为当前元素)
过滤
哈希键 / 值

命令行

一行式与模块。

语法 / 命令说明
运行脚本并传参(@ARGV)
执行一行代码
逐行过滤(-n 隐含循环,$_ 为当前行)
就地编辑并备份 .bak
安装 CPAN 模块
只做语法检查

使用说明

Perl 语法速查:基础语法、字符串与正则、文件与输入、数组哈希操作、命令行一行式;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础语法、字符串与正则、文件与输入、常用操作、命令行。
  2. 点「语法 / 命令」列复制,替换变量名、路径与模式后使用。
  3. 脚本开头始终加 use strict; use warnings; 减少低级错误。
  4. 文本处理一行式很高效: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 时)备份原文件,比手写脚本更快。

延伸阅读

相关工具