perl语法,perl基本语法
perl 中的$cfg什么意思?
在Perl中,die函数可以用来在出现错误的时候停止解释程序的运行,并输出一条有意义的
出错消息.
$cfg是什么意思要看脚本前面的相关内容。
$应该是错了。
$? 包含了最近一次执行的外部程序结束状态。这些程序以办是通过管道,反小点 ('') 或system 函数执行的。
$! 包含了系统的错误。如果用在数值的地方,就是系统错误码;如果用在字符串的地方,
就是错误信息字符串。
$^E 在某些平台,返回扩展错误信息。
$@ 从上一个 eval 命令的 Perl 语法错误信息。
$$ 运行当前脚本的 Perl 进程的 pid。
$ 当前进程的实际用户标识符(uid)。
$ 当前进程的有效用户标识符。
$( 当前进程的实际组标识符(gid)。
$) 当前进程的有效组标识符。
$0 正在执行的 Perl 脚本的文件名称。
$[ 数组中第一个元素的序号或子串中第一个字符的序号。缺省是 0。
$] 返回版本号,加上补丁级别除以 1000
Perl正则表达式常用语法总结
操作符
m/.../???? 模式匹配操作符
s/.../.../??? 模式替换操作符
qr/.../???? 预编译正则表达式
=~??????? 绑定操作符
普通元字符
.????????通配符,可匹配除\n外的一个任意字符
\????????用于字符转义
|????????择一竖线
\Q...\E??? 转义\Q至\E之间的所有元字符
字符集
[...]???? ?????肯定型字符集
[^...]??? ?????否定型字符集
-???????????可用于表示一系列连续字符
[-...\\...\^]??? 字符集中表示真正的“-”、“\”与“^”
字符集简写
\d与\D???? 基本相当于[0-9]与[^0-9]
\w与\W??? 基本相当于[A-Za-z0-9_]与[^A-Za-z0-9_ ]\s与\S????? 空白字符集(包括空格、\n等)及其反义字符集
量词
*???????????? ?????可重复匹配0至任意多次
+????????????? ????可重复匹配1至任意多次
??????????????? ???可重复匹配0或1次
{1,5}???????????? ??通用量词,可重复匹配1至5次
{1,}?????????????? ?无重复匹配次数上限,此处相当于量词“+”
{5}???????????????? 固定匹配5次
*?、+?、??、{...}???? 忽略优先量词
*+、++、?+、{...}+??? 占有优先量词
与小括号相关的语法
(...)???????????? 普通捕获组
(?: ...)?????????? 非捕获组
(? ...)?????????? 固化分组
(? ...)???? 命名捕获组
(?i-m: ...)??????? 启用i修饰符并关闭m修饰符的非捕获组
((?i-m) ...)?????? 启用i修饰符并关闭m修饰符的捕获组
\1、\2、\3????? 普通绝对反向引用
\name????????? 反向引用命名捕获组
\g{...}、\k...??? 支持相对反向引用的写法(二者略有差别)
$1、$2、$3????? 使用绝对编号的捕获变量
$+{name}??????? 通过%+散列调用命名捕获组内容
$`、$、$'????? 匹配前字段、匹配字段与匹配后字段(使用会大幅降低正则引擎的速度)
修饰符
/i????模式字符忽略大小写
/m???启用行首尾锚位
/x????启用宽松排列模式
/g????全局匹配、全局替换
/o????只编译一次
锚位
\A??????? 绝对开头锚位
\Z??????? 绝对末尾锚位
\z??????? 忽略末尾换行符的末尾锚位
^、$????? 未开启/m时,相当于\A与\z,开启\m后为行首尾锚位
\b??????? 单词边界锚位
\B??????? 非单词边界锚位
\G??????? 锚位到上一次成功匹配的结束位置
(?= ...)???? 肯定顺序环视
(?! ...)???? 否定顺序环视
(?= ...)??? 肯定逆序环视
(?
优先级
小括号 量词 锚位和序列 择一竖线 原子
樱雨楼
完于:2016.3.30
有没有一个perl的语法检查工具
多数Perl编辑器都有这个功能,写完检查一下,就能发现多数语法错误!比如用 express perl 的话 F9是运行 F10 是检查脚本,确认语法。
Perl语法出错,Global symbol requires explicit package name
global symbol requires explicit package name
全局符号需要显式包名
重点词汇释义
global symbol全局符号
explicit明确的,清楚的; 直言的; 详述的; 不隐瞒的
package包装; 把…装箱; 向…提出一揽子计划; 包裹; 包装袋; 包装盒; 一组建议
perl语法
哎,其实这个说得很明白呀~
\000表示八进制数0的ASCII码,\0177也是八进制数,表示二进制的七位最大数、也就是十进制127的ASCII码;
[]表示匹配括号里面的一个字符,例如[abc]可以匹配a、b、c;
[]里面也可以使用-表示范围,例如[a-z]可以匹配所有的小写字母;
你现在明白[\000_\177]怎么匹配7位ASCII字符了吗?
perl语言 的 use语法 的一个问题
given-when应该还是处于测试阶段,use 5.010是为了加载测试函数,不是说5.18高于5.10默认参数就默认增加