欢迎来到天天文库
浏览记录
ID:51493396
大小:475.93 KB
页数:11页
时间:2020-03-25
《PERL编程24学时教程——09 其他函数和运算符.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、下载第二部分高级特性第9学时其他函数和运算符第10学时文件与目录第11学时系统之间的互操作性第12学时使用Perl的命令行工具第13学时引用与结构第14学时使用模块第15学时了解程序的运行性能第16学时Perl语言开发界下载第9学时其他函数和运算符Perl遵循的传统原则是“一件事情可以使用许多方法来完成”。在本学时中,我们将要更加深入地掌握这个原则。我们将要学习丰富多彩的新函数和运算符。为了进行标量搜索和操作,到现在为止我们一直使用正则表达式。不过我们可以使用多种方法来完成这项任务,Perl提供了各种各样的函数,以便对标量进行搜索和编辑。在本学时中,我们将要介绍其他的几种方法。
2、另外,我们介绍了作为项目的线性列表的数组,你可以使用foreach迭代通过这些列表,或者使用join将它们组合起来,构成标量。在本学时中,我们将要介绍一种观察数组的全新方法。最后,我们要重新介绍一下常用的print函数,并且给它增加一点特性。使用新的改进后的print函数,你就能够编写格式优美、适合向他人展示的报表。在本学时中,你将要学习:¥如何对标量进行简单的字符串搜索。¥如何进行字符替换。¥如何使用print函数。¥如何将数组用作堆栈和队列。9.1搜索标量正则表达式非常适合对标量进行搜索,以便找出你要的模式,但是有时使用正则表达式来搜索标量有点像杀鸡用牛刀的味道。在perl
3、中,对模式进行组装,然后在标量中搜索该模式,需要花费一定的开销,不过这个开销并不大。另外,当你编写正则表达式时,很容易出错。为此,perl提供了若干个函数,用于对标量进行搜索,或者从标量中取出简单的信息。9.1.1用index进行搜索如果你只想在另一个标量中搜索单个字符串,Pert提供了index函数。index函数的句法如下:index函数从string的左边开始运行,并搜索substring。index返回找到substring时所在的位置,o是指最左边的字符。如果没有找到substring,index便返回-1。被搜索的字符串可以是字符串直接量,可以是标量,也可以是能够返
4、回字符串值的任何表达式。substring不是一个正则表达式,它只是另一个标量。请记住,你编写的Pert函数和运算符可以带有包含参数的括号,也可以不带。下面是一些例子:104使用第二部分高级特性下载根据情况,可以给index函数规定一个字符串中开始进行搜索的起始位置,如下面的例子显示的那样。若要从左边开始搜索,使用的起始位置是0:也可以使用带有起始位置的index函数,以便“遍历”一个字符串,找到出现一个较短字符串的所有位置,如下所示:上面这个代码滑动通过$source,如下所示:9.1.2用rindex向后搜索函数rindex的作用与index基本相同,不过它是从右向左进行搜
5、索。它的句法如下所示:当搜索到结尾时,rindex返回-1。下面是一些例子:用于index的遍历循环与使用rindex进行向后搜索的循环略有不同。rindex的起点必须从字符的结尾开始,或者从结尾的后面开始,(在下例中,从length($source)开始),但是,当返回-1时,它仍然应该结束运行。当找到每个字符串后,$start必须递减1,而不是像index那样递增1。9.1.3用substr分割标量substr是个常常被忽略和很容易被遗忘的函数,不过它提供了一种从标量中取出信息并对标量进行编辑的通用方法。substr的句法如下:第9学时其他函数和运算符使用105下载subs
6、tr函数取出string,从位置offset开始运行,并返回从offset到结尾的字符串的剩余部分。如果设定了length,那么取出length指明的字符,或者直到找出字符串的结尾,以先到者为准,如下例所示:如果offset设定为负值,substr函数将从右边开始计数。例如,substr($a,-5)返回$a的最后5个字符。如果length设定为负值,则substr返回从它的起点到字符串结尾的值,少于length指明的字符,如下例所示:在上面这个代码段中,substr从位置5开始运行,返回字符串的剩余部分,但不包含最后10个字符。你也可以使用赋值表达式左边的substr函数。当
7、用在左边时,substr用于指明标量中的什么字符将被替换。当用在赋值表达式的左边时,substr的第一个参数必须是个可以赋值的值,比如标量变量,而不应该是个字符串直接量。下面是使用substr对字符串进行编辑的一个例子:9.2转换而不是替换下一个运算符是转换运算符(有时称为翻译运算符),它使我们想起正则表达式中的替换的操作方式。替换操作符的形式是s/pattern/reptacement/,在第6学时中我们已经作了介绍。除非你用连接运算符=~设定了另一个标量,否则该操作符将对$_变量进行操作
此文档下载收益归作者所有