版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/6/18,1,Perl语言基础,2020/6/18,2,Perl语言特性Perl语言数据结构Perl语言控制结构Perl语言模式匹配Perl语言子程序,2020/6/18,3,Perl语言特性,解释性编程语言开源软件(/)Perl(PracticalExtractionandReportLanguage)文字分析报告语言,2020/6/18,4,Perl语言特性Perl语言数据结构Perl语言控制结构Perl语言模式匹配Perl语言子程序,2020/6/18,5,Perl语言数据结构,scalars用$开头定义的变量,比如$fooscalar
2、s数组用开头定义的变量,比如foo,里面的每个元素都是scalarsscalars联合数组用开头定义的变量,比如foo,里面的每个元素都是scalarsNOTE:1.Perl变量名称对大小写敏感,$foo和$Foo是两个不同的变量。2.Perl每种数据结构有专门的命名空间,$foo和foo是两个不同的变量。3.显式申明一个变量使用my或者our。,2020/6/18,6,Perl语言数据结构-scalars,在Perl语言中变量的使用不像在C语言中还要事先申明,在使用纯量变量的时候要先加上$这个符号,要注意的是如果指定的纯量变量是一个字符串的话,就要加上“”这个双引号符号了。如果是一个数值的话
3、,就不用加上“”这个符号了。示例:my($Str1,$str2);mystr3;$Strl=www;#将www这个字符串指定给$Strl这个纯量变量;$str2=cgi;#将cgi这个字符串指定给$str2这个纯量变量;$str3=$strl.$str2;#.就是把两个字符串连起来,所以$str3=wwwc20;$int=5;#将5这个数字指定给$int这个纯量变量;$int=3+2;#此时$int=5;$int=l0;$int+;#此时$int=10+l=11;$int=l0,$int+=5;#此时$int=10+5=15;,2020/6/18,7,Perl语言数据结构-scalars数组,
4、数组操作与乐高积木示例:namel=(“tom”,“mary”);#将“tom”,“mary”这两个字符串指定给数组name1name2=name1;#此时的name2=(tom,mary)pame3=(john,name1);#此时的(name3=(john,tom,mary)($one,name4)=name3;#此时的$one=john,而name4=(tommary)namel=0;#此时name1为一个空数组,2020/6/18,8,Perl语言数据结构-scalars数组,int=(1,3,5,7,9);$x=int;#将一个数组指定给一纯量变量,就会返回数组元素的个数,所以此时的
5、$x=5$x=$#int;#$#这个变量会返回数组最后一个元素的index所以此时$x=4($x)=int;#$x等于数组int的第一个元素的值,所以此时$x=1$b=$int0;#$b等于数组int的第一个元素,所以$b=1$C=int0;#$c也是会等于数组int的第一个元素,所以$c=1,因此要呼叫数组中的值有以上两种方法,2020/6/18,9,Perl语言数据结构-scalars数组,$int0=2;#将2这个数值指定给数组int的第一个元素此时int=(2,3,5,7,9);$int0,1=1,3;#将1指定给数组int的第一个元素,且将3指定给数组int的第二个元素的,所以此时i
6、nt=(1,3,5,7,9);int0,1=int1,0;#将数组int的前两个元素交换此时int=(3,1,5,7,9)($int0,$int1)=($intl,$int0);#也是将数组int的前两个元素交换此时int=(1,3,5,7,9)data=int0,l;#此时date=(1,3);$int5=11;#将11这个数值指定给数组int中第六个元素此时int=(1,3,5,7,9,11),2020/6/18,10,Perl语言数据结构-scalars联合数组,联合数组也叫hash结构、关联数组等。联合数组也是数组的一种,是由不同的纯量变量所组成。联合数组中的元素是由成对的key-va
7、lue所组成。定义:%ARRAY=(keyl,value1,key2,value2,key3,value3.);增加:$ARRAYkey=value;取出:$get=$ARRAYkey;删除delete$ARRAYkey;,2020/6/18,11,Perl语言数据结构-scalars联合数组,使用示例:%NAMES=I,one,2,two);$one=$NAMES1;#此时$one等于one“$two=$NAMES2;#此时$two等于two“$NAMES3=third;#增加一对key-value到关联数组NAMES中,此时的%NAMES=(1,one,2,two,3,third);$NA
8、MES3=three;#把key为3所对应的value更改成three此时%NAMES=(1,one,2,two,3,three);delete$NAMES3;#将关联数组中key值为3的一对key-value删除掉,#此时%NAMES=(1,one,2,two);,2020/6/18,12,Perl语言数据结构-scalars联合数组,X=%NAMES;#将关联数组NAMES指派给数组X#此时X=(1,one,2,two);%Y=x;#将数组X指派给关联数组Y,此时%Y=(1,one,2,two);%NAMES=();#此时%NAMES为一个空的关联数组,2020/6/18,13,Perl语
9、言特性Perl语言数据结构Perl语言控制结构Perl语言模式匹配Perl语言子程序,2020/6/18,14,Perl语言控制结构,条件判断循环:1、while循环2、until循环3、for循环4、针对列表(数组)每个元素的foreach循环5、do循环6、循环控制7、传统的goto语句单行条件,2020/6/18,15,Perl语言控制结构-条件判断,条件判断if()elsif().else,2020/6/18,16,Perl语言控制结构-循环,while循环while()until循环until()类C的for循环for($count=1;$count0);print(Notzeroy
10、et.n)until($var-=0);,2020/6/18,20,Perl语言特性Perl语言数据结构Perl语言控制结构Perl语言模式匹配Perl语言子程序,2020/6/18,21,Perl语言模式匹配,简介匹配操作符模式中的特殊字符模式匹配选项替换操作符,2020/6/18,22,Perl语言模式匹配-简介,模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即模式def。模式匹配也叫正则匹配。模式匹配是Perl的一大特点。,2020/6/18,23,Perl语言模式匹配-操作符,语法:$line=m/xxxx/;$line=s/pattern/replacement/gi
11、示例:if($question=/please/)print(Thankyouforbeingpolite!n);elseprint(Thatwasnotverypolite!n);,2020/6/18,24,Perl语言模式匹配-特殊字符,1)字符+:匹配一个或多个相同的字符2)字符*:匹配零个或多个相同的字符3)字符?:匹配0个或1个字符4):匹配其中的一个字符5):表示除其之外的所有字符6):匹配行首7)$:匹配行尾8)d任意数字0-99)D除数字外的任意字符0-910)w任意单词字符_0-9a-zA-Z11)W任意非单词字符_0-9a-zA-Z12)s空白rtnf13)S非空白rtnf
12、14):所匹配字符的出现次数15)():保存匹配结果,2020/6/18,25,Perl语言模式匹配-特殊字符,示例:$line=“18276zjmsc01”;$line=/(d+)s+(w+)/result:$1=18276;$2=zjmsc01;0-9表示09数字的a-z表示任意小写字母A-Z表示任意大写字母0-9a-zA-Z表示任意大小写字母、数字,2020/6/18,26,Perl语言模式匹配-匹配选项,2020/6/18,27,Perl语言模式匹配-匹配选项,匹配所有可能的模式(g选项)示例matches=balata=/.a/g;#nowmatches=(ba,la,ta)匹配的循
13、环:while(balata=/.a/g)$match=$结果为:balata,2020/6/18,28,Perl语言模式匹配-匹配选项,将字符串看作单行例/a.*bc/s匹配字符串axxxxxnxxxxbc,但/a.*bc/则不匹配该字符串;只执行一次变量替换例$var=1;$line=;while($var;$var+;每次均匹配/1/,匹配的内容不因为$var变化而变化。,2020/6/18,29,Perl语言模式匹配-匹配选项,保存匹配结果$string=Thisstringcontainsthenumber25.11.;$string=/(d+).(d+)/;#匹配结果为25.11$integerpart=$1;#now$integerpart=25$decimalpart=$2;#now$decimalpart=11$totalpart=$&;#nowtotalpart=25.11NOTE:1,模式匹配后调用重用部分的结果可用变量$n。2,全部的结果用变量$string=s/123/456/;#now$string=abc456def;,2020/6/18,31,Perl语言模式匹配-替换操作符,2020/6/18,32,Perl语言模式匹配-替换操作符,e参数示例$string=0abc1;$string=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 远离交通危险护航安全健康小学主题班会课件
- 能源行业合作模式优化提案函3篇
- 致销售部门关于重新制定销售策略的通知3篇范本
- 北京华恒智信赋能国有投资平台搭建扁平化组织体系
- 企业社会责任报告更新通知(5篇)范文
- 机械设计基础 第2版 课件2 第6章 平面连杆机构-3.铰链四杆机构的演化
- 追寻数学之花启迪智慧之旅-小学主题班会课件
- 深化合作伙伴年度协同意向书(7篇)
- 防治水试题库及答案
- 2026年货款催收提示函(8篇)范文
- 2026 年高中秋季新生开学军训“坚定信念追逐青春理想”
- 2026年喀什经济开发区兵团分区招聘(20人)笔试参考题库及答案详解
- 2026年行政执法证考试必考题库及完整参考答案(官方大纲版)
- 2026年春广东省中职“3+证书”高职高考语文真题(含解析)
- 现代交换原理重点总结
- 校园超市经营投标方案(完整技术标)
- 交通运输概论高职PPT完整全套教学课件
- 口腔医患沟通工作制度
- 八年级田径下压式接力跑课后反思和点评
- C语言试讲演示文稿
- 寺庙建设项目立项可行性研究报告
评论
0/150
提交评论