《Perl编程24学时教程》笔记第9课 perl的其它函数与运算符

发布时间:2020-05-27编辑:脚本学堂
本文分享《Perl编程24学时教程》笔记第9课时的内容,介绍了perl的其它函数与运算符的相关知识,有需要的朋友参考下。

第9课时  perl的其它函数与运算符

一、搜索标量
1,index进行搜索
 

index string,substring
index string,substring,start_position
index函数从string左边开始运行,搜索substring,循环返回substring所在的位置,不存在返回-1。

2,rindex向后搜索
 

rindex string,substring
rindex string,substring,start_position
rindex函数从string右边开始运行,搜索substring,循环返回substring所在的位置,不存在返回-1。

3,substr分割标量
substr string,offset
substr string,offset,length
substr函数取出string,从位置offset开始运行,并返回从offset到结尾的字符串的剩余部分,设定了length,则取出length指明的字符,或直到找出字符串的结尾,以先到
者为准。
若offset为负值,则从右边开始计数。
若length为负值,则返回从offset开始到结尾之前length的字符串。
当substr函数用于赋值表达式左边时,第一个参数须是可以赋值的值,标量中的指定字符将被替换。

二、转换
tr/searchlist/replacementlist/转换运算符,找出searchlist的各个元素,用replacementlist中的对应元素进行替换。
若replacementlist是空的,或与searchlist相同,返回匹配数。
可以使用其他自然配对的界限符代替/。

三、增强print函数
printf formatstring,list
printf filehandle formatstring,list
formatstring是字符串直接量,每个字符均按原义输出,%表示域说明符的开始。
域说明符的格式是%-w.dx,w是域需要的总宽度,d是小数点左边的位数和字符串域允许的总宽度,x表示输出的数据类型,x说明符前面的连字符表示域在w字符中左对齐,否
则右对齐。
 

域类型     含义
c 字符
s 字符串
d 十进制整数,截掉尾部的小数
f 浮点数
 

若需要输出数字中的前导0,要在格式说明符中的宽度的前面设置1个0。
sprintf和printf几乎相同,只是返回格式化输出。

四、堆栈形式的列表
 

pop target_array  从堆栈的底部删除一元素,返回被删除的元素的值。
shift target_array  从堆栈的顶部删除一元素,返回被删除的元素的值。
push target_array,new_list 向堆栈的底部压入元素,返回堆栈的大小。
unshift target_array,new_list 向堆栈的顶部压入元素,返回堆栈的大小。
splice array,offset
splice array,offset,length
splice array,offset,length,list
 

splice函数用于删除数组中从offset位置开始的元素,返回被删除的数组元素,若offset的值为负数,则从数组的结尾开始计数,若设定了length,则只删除length指定的元
素,若设定了list,则删除length指定的元素后用list取代。