/g:全局替换
/i:大小写无关的匹配
/x:加入辅助空白字符
/s:匹配任意字符
=~:绑定操作符
()()$1$2:捕获变量
(?:·····):不捕获号
(?<LABEL>PATTERN):命名捕获,访问时访问$+{LABEL}
$`, $&, $':捕获变量前的内容,捕获变量内容,捕获变量后的内容
\m:multiple lines,文本按行操作
\U \L \u \l:大小写转换
m//:匹配
s///:替换
? . * + :字符匹配
\s:空格
\b:单词与非单词的边界,\b{wb}:更加智能的单词边界符
\S:非空格
\h:水平空白符
\H:非水平空白符
\v:纵向空白符
\V:非纵向空白符
\d:十进制数字
\D:非十进制数字
\Q:元字符转义
splite:拆分字符串
join:粘合字符串
$^I:文件更新
^ or \A:字符串开始锚位
$ or \z or \Z:字符串结束锚位,\z行末无其他东西,\Z允许后面出现换行符
$ perl -p -i.bak -w -e 's/Randall/Randal/g' fred*.dat
[\d\D]:匹配任何数字或者非数字,即任何字符,包括换行符
\n:换行符
\N:非换行符
\w:单词字符
\W:非单词字符
\1 or \g{1}:反向引用