




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PERL总结一、安装1、双击安装文件(.msi)下一步直到finish.2、检验是否安装成功:在dos窗口中输入perl-v查看安装版本,若出错,则需要在path环境变量(计算机-属性-高级属性-环境变量-找到path)前加perl的路径,用“;”隔开。二、内容A、基本命令1、保存文件时,扩展名为.pl2、运行时,进入到文件所在的目录下perl文件名.pl3、-e开关:允许在命令中输入程序*perl-eprintHelloWoeld!”将双引号编程/(注意:不是)Perl-eprint/HelloWorld!/”力口qq将内容打印出来Perl-eprintqq/HelloWorld!/&quo
2、t;*q:单引号qq:双引号qw:单词列表引号qr:正则表达式qx:反弓I号4、-n开关:打开文档内容*perl-neprint”Hello.pl打开Hello.pl文件的内容(会将程序语句都显示出来)*perl-neprintif/Aaa/;"Hello.pl-在Hello.pl中搜索以aa开头的内容(别忘了if)B、一般框架1、#!:在linux中是引入路径;在dos中是注释2、Usestrict:严格检查3、声明变量:my类型变量名称my$text注意:若前面有usestrict,z则需要加my声明;若前面没有usestrict,z则不需要加my声明;$标量数组hash4、一行
3、注释:#多行注释:=remarkbegin=cut5、子程序定义:sub函数名-内容-;必须用sub调用:&函数名/函数名()C、标量1、声明:my$名称=值2、命名大小写敏感3、双引号可以用qq代替:$a="aaa"相等于$b=qq(aaa)4、单引号可以用q代替:$a1='aaa'相等于$b1=q(aaa)注意:()可以用卜【】、弋替5、字符串连接用.$c=$a.$b等于aaaaaa注意:oracle中,连接用concat/|;java中用+6、单引号和双引号打印结果一样print$a等于print$a1不同点:双引号先对变量解析替代,单引号直接
4、赋予值,如果要双引号直接赋予值,可以在变量前加转义。Print$a->aaa;print$a1->aaa$a2="$a”print$a2>$a7、函数:length()-长度;chop()-截取字符最后一位Chomp()-删除字符串后的换行符的个数8、从键盘输入:$名称=STDIN键盘输入的值就被它接收D、数组1、声明数组:【my】数组名称=(1,2,3,4,5)my数组名称=qw(12345)-没有逗号2、数组长度:length$length=数组-print$length3、多维数组:【my】数组名称=(11,2,3】,4,5,6】,7,8,9】)打印元素:pr
5、int$数组名称【第一位置】【第二位置】打印多维数组时,只能打印单个元素,所以用$接收值,如:print数组名称【12-6(从0开始算)4、相关函数*pop(数组名称):删除数组末位元素*push(数组名称,元素):给数组末位加元素*shift(数组名称):删除数组首位元素*shift(数组名称,元素):给数组首位加元素* 50代数组名称:排序,默认升序例如:Printjoin(-',sort数组名称):使数组升序并用一隔开打印* map函数:变换ascii码(chr)-b=mapchr,a;printjoin(-1b);将数组a的元素变换为ascii码用-隔开打印出来* 算法运算:c
6、=map$_*2+6,a;printjoin(-:a)将数组a的每一个元素都乘以2力口6,用数组c接收并用-,隔开打印,$_是依次取数组中的值*slipt分割:$a='"a;s;d;f;g”;$b=split(;:$a);->将$2用;分割,将长度值给$bc=split(;:$a);>将$2用;分割并放在数组c中Print$b;->5Printc;>asdfg*倒序打ERreversePrint('->',reverse。;->将数组c倒序打印并用->隔开打印(g->f->d->s->aD、ha
7、sh变量1、声明:%45称=(“key1”=>“value1”,“key2”=>“value12”)或者%称;$名称“key1"="value1";$名称“key2"="value2”;2、循环:while($a,$b)=each%称)print$a>$bn”;$aMkey的值,$b取value的值3、打印:a=(1"=>“aa",”2"=>'"bb");k=keys%a;v=values%a;Printkey:k>value:v将key和value放
8、在数组中打印E、控制结构1、ifelsifelse2、While(条件)执行语句3、For(变量初值;条件;增量)执行语句->判断用=F、自定义函数1、sub函数名函数内容2、调用方法:&函数名/函数名()G、模式匹配1、($a=/M/):判断$a中是否含有M字符或字符串2、/de+h/:表示e可以重复,dehdeehdeeeh.3、/a.c/:表示以a开始,以c结尾,中间是【】中的任何一个4、/八乂/:以M字符或字符串开始的5、/M$/:以M字符或字符串结尾的6、/aFdefc/:表示以a开始,以c结尾,中间不含有def中任何组合7、/ab*c/:表示以a开始,以c结尾,中间是
9、0个、1个或多个b8、/ab?c/:表示以a开始,以c结尾,中间是0个、1个b9、0-9:表示0-9中的任意数字10、A-Z:大写字母A-Z中的任意字母11、a-z:小写字母a-z中的任意字母12、0-9a-zA-Z出了特殊字符外的任意数或字母13、:匹配字符出现的次数14、/ab1,3c/:表示以a开始,以c结尾,中间b的重复次数1<=b<=315、/ab3,c/:表示以a开始,以c结尾,中间b的重复次数b>=316、/ab0,3c/表示以a开始,以c结尾,中间b的重复次数0<=b<=317、/M|N/:表示只要含有M字符或字符串或者N字符或字符串18、/m/:
10、表示只匹配以m开始的19、/m$/:表示只匹配以m结尾的20、/AM$/:只匹配M字符或字符串21、八bM/:只匹配以M字符或字符串开始(只判断边界)22、/Mb/:只匹配以M字符或字符串结尾(只判断边界)23、八bMb/:表示只匹配M字符或字符串24、八BM/:表示以M字符或字符串前必须有内容25、/MB/:表示以M字符或字符串后面必须有内容26、八BMB/:只匹配含有M字符或字符串,不匹配仅M、以M开始、以M结尾27、转义:在前加八,表示相反的H、读写文件1、写文件打开文件:open(infile,"/文件路径”)【注意:是/不是,表示若没有,新建;表示若有,洎加】写内容:pri
11、ntinfile内容1n”;printinfile内容2n”;关闭文件:close(infile);-注意加括号2、读文件定义变量:$temp;-不用赋值打开文件:open(outfile,”文件路径")-/循环打印内容:while($temp=<outfile>)Print$temp”;关闭文件:close(outfile);I、连接数据库1、测试连接数据库:useDBI;my$tnsname="orcl"my$username="scott"my$password="tiger"my$dbh=DBI->
12、connect("dbi:Oracle:$tnsname",$username,$password)ordie"Cannotconenctdb:$DBI:errstrn"if($dbh)print"oracle数据库连接成功n"elseprint"oracle数据库连接失败n"exit(1);$dbh->disconnect;2、连接数据库useDBI;my$tnsname="orcl"my$username="scott"my$password="tiger
13、"my$dbh=DBI->connect("dbi:Oracle:$tnsname",$username,$password)ordie"Cannotconenctdb:$DBI:errstrn"#准备字符串my$sql="select*fromemp"my$sth=$dbh->prepare($sql);#执行sql$sth->execute();#打印数据while(row=$sth->fetchrow_array()print"rown"$dbh->disconnect;3、插入数据useDBI;my$tnsname="orcl"my$username="scott"my$password="tiger"# 建立数据库连接my$dbh=DBI->connect("dbi:Oracle:$tnsname",$user
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB32/T 4428-2022奶山羊饲养技术规程
- DB32/T 4274-2022工业互联网安全脆弱性分析与检测规范
- DB32/T 4155.10-2021全民健康信息平台共享数据集规范第10部分:医疗质控
- DB32/T 4057-2021禽肉中铜、镉等18种元素含量的测定电感耦合等离子体质谱法
- DB32/T 4002-2021大跨径悬索桥预制平行钢丝索股通用技术条件
- DB32/T 3872-2020电动滑板车安全技术规范
- DB32/T 3763-2020新型冠状病毒肺炎疫情防控居家隔离技术规范
- DB32/T 3761.48-2021新型冠状病毒肺炎疫情防控技术规范第48部分:人员密集型场所快速调查和处置
- DB32/T 3729-2020融合媒体内容平台运营及托管服务音视频文件交互规范
- DB32/T 3607-2019监狱医院设施设备配置规范
- 国家开放大学2025年春《形势与政策》形考任务1-5和大作业参考答案
- 大理石知识培训课件
- 2025年福建省厦门市中考数学二检试卷
- 《拥抱健康拒绝烟草》课件
- 济南幼儿师范高等专科学校招聘真题2024
- 鼻咽癌口腔炎护理查房
- 创业扶持政策对数字化转型的影响研究试题及答案
- 疗休养协议格式合同
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 10SG614-2 砌体填充墙构造详图(二)(与主体结构柔性连接)
- 固体料仓 (2.26)设计计算
评论
0/150
提交评论