Perl 特殊变量
输入输出特殊变量
$_ - 默认输入和模式搜索变量
@_ - 子程序参数数组
$. - 当前行号
$/ - 输入记录分隔符
$\ - 输出记录分隔符
$| - 自动刷新
$" - 列表内插分隔符
$, - 输出字段分隔符
模式匹配特殊变量
$1, $2, $3, ... - 捕获组
$& - 匹配的字符串
`$`` - 匹配前的字符串
$' - 匹配后的字符串
$+ - 最后一个捕获组
$^N - 最近完成的捕获组
进程特殊变量
$$ - 当前进程 ID
$? - 最后一个子进程的退出状态
$0 - 程序名
$^O - 操作系统名
$^T - 脚本开始时间
$^X - Perl 解释器路径
文件句柄特殊变量
ARGV - 命令行参数
@ARGV - 命令行参数数组
STDIN, STDOUT, STDERR
格式化特殊变量
$# - 数组最后一个索引
$% - 当前页号
$= - 每页行数
$- - 当前行数
$~ - 当前格式名
正则表达式特殊变量
$^R - 最后成功的正则表达式代码执行结果
其他重要特殊变量
$! - 系统错误消息
$@ - eval 错误消息
$^E - 扩展错误消息
$^I - 原地编辑备份扩展名
$^F - 系统文件描述符最大值
$^H - 语法哈希(内部使用)
$^M - 紧急内存池
$^P - 调试器标志
$^S - 当前解释器状态
$^V - Perl 版本
实践示例
示例 1:行号和文件处理
示例 2:正则表达式提取
示例 3:命令行工具
示例 4:进度显示
小结
本章节学习了 Perl 的特殊变量:
- ✅ 输入输出特殊变量
- ✅ 模式匹配特殊变量
- ✅ 进程特殊变量
- ✅ 文件句柄特殊变量
- ✅ 格式化特殊变量
- ✅ 其他重要特殊变量
接下来,我们将学习 Perl 正则表达式。