perl语法,perl基本语法

http://www.itjxue.com  2023-01-15 15:58  来源:未知  点击次数: 

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默认参数就默认增加

(责任编辑:IT教学网)

更多

推荐数据库文章