Perl语言在生物

上传人:资****亨 文档编号:260545336 上传时间:2022-02-28 格式:PPT 页数:51 大小:133KB
返回 下载 相关 举报
Perl语言在生物_第1页
第1页 / 共51页
Perl语言在生物_第2页
第2页 / 共51页
Perl语言在生物_第3页
第3页 / 共51页
Perl语言在生物_第4页
第4页 / 共51页
Perl语言在生物_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《Perl语言在生物》由会员分享,可在线阅读,更多相关《Perl语言在生物(51页珍藏版)》请在金锄头文库上搜索。

1、单击此处编辑母版标题样式单击此处编辑母版副标题样式精选ppt1PERLPERL在生物信息学中的应用在生物信息学中的应用o主讲:吴茂英o生物信息学与生物统计学系o上海交通大学主要内容nPERL简介nPERL脚本的编写nPERL变量nPerl语法nPERL与正则表达式nPERL示例2精选pptPERL释义Practical Extraction and Report Language 实用摘录和报告语言,但它其实不是缩写Larry Wall,1987.12.18Perl的历史3精选pptPerl的环境准备l Unix:大多数内置l 一些软件也内置perl,比如apache/oraclel Wind

2、ows:ActivePerl5.10.04精选pptPerl的工具编辑工具:notepad,viIDE:Komodo,Perl Dev KitCGI:Top perl studio,Perl builder,perl edit,perlwiz,Mod_perl5精选pptPerl的功能l脚本语言,解释执行,无需编译l具有编译语言如c、Java的功能,又有shell脚本的方便l无数据类型区分,适于不太复杂的程序l适于不要求速度,不在乎内存CPU等系统资源的任务l强大的字符串处理功能l灵活或复杂的正则表达式l大多数平台支持,除了专用模块,可在不同平台运行6精选pptPerl的应用nWeb编程:CG

3、I,XML处理n系统管理n网络编程(安全脚本).n数据库管理n图像处理n其他众多的领域。7精选ppt一个示例#!/usr/bin/perlPrint “This is my first perl programn”;$a=;Print $a;l第一行: #!/usr/bin/perl 由什么程序执行以下的内容l注释:l输入:l输出:printl$a:变量,无需指定数据类型8精选pptperl的四种变量oScalar:标量,以$开始,后面以字母或_开头,再后面可以是字母或数字oarray:数组,列表,以开头oHash: 哈希,散列,以%开头o文件:大写字母o区分大小写,$Var, $VAR, $

4、varo内置变量$/,$等9精选ppt字符串变量o由双引号或单引号标识的一组字符组成。o最少0个字符(“”为空串),最多可以占满内存,末尾不含null(0)o“$string” = $str + “ing” != $stringo记住一些常用的转义字符oprint “the $var is $var.”o注意单引号的用法:不替换、不转义$var=“str”;print “this is $var”; # ”this is str”print this is $var; # this is $var10精选ppt变量初值l未创建时状态为undef,到达文件尾也为undefl说明变量为未定义:un

5、def $a;l用在条件判断中:if(undef $a)l代替不关心的变量:$s=“a:b:c:d; ($a1,undef,undef,$d1)=split(/:/, $s);l如果有undef变量又不知在哪,可加-w参数进行提示#!/usr/bin/perl -wl创建后状态为defined 一般用在条件判断中if(defined $a)l整数初值为0,字符串初值为空串”。一般未赋值就使用时$result = $undefined + 2; 11精选ppt相关函数olength():字符串长度ouc, lc, ucfirst, lcfirst:改变大小写函数osubstr, index, p

6、os:字符串函数osin等三角函数orand(), srand():随机发生函数$lastchar = chop($str) # 截去最后一个字符$result = chomp($str) # 截去末尾的行分隔符(通常为”n”),行分隔符由$/定义12精选ppt控制结构oif(condition1) elsif(condition2)elseounless()ountil()odo until()owhile()odo while ()ofor(;)oforeach循环语句13精选pptforeacho语法:foreach $w(list|array)statemento()内可以是数组a,也

7、可以是列表(1,2,3)o数组元素值可以修改,列表则是常量o$w不影响本来已定义的变量$w,循环结束后恢复o可以用$a(a)用相同的变量名称o示例:nforeach $a(a)用于数组nforeach $a(1,2,3,4)用于列表nforeach $k(keys %h)用于哈希/散列nforeach $a(a1,2,4)仅对数组部分元素nforeach (a)缺省循环变量为$_14精选ppt循环控制olast:退出循环onext:进入下一循环oredo:重新执行本次循环ogoto:跳转ocontinuestatement15精选ppt单行条件语句与循环语句oprint $a if $a=0;

8、oprint $a unless($a=0);oprint $a while ($a-=0);oprint $a until ($a-=0)用|,&的条件语句:$a=0&print $a; open(F,file)|die “cant open”;die函数:在控制台标准错误输出信息后退出程序。warn: 输出信息后不退出程序,只起警报作用。$!:内部变量,包含错误代码。$:内部变量,包含错误信息。16精选ppt列表数组的形式o形式:(1,”a”,2.3, $a, $x+1),其元素可以是数字、字符串、变量、表达式o空列表(),单元素列表(2)不同于标量2oqw(1 $a str)n()可以用

9、其他符号表示,如n元素可以是数值、变量、不带引号的字符串,中间用空格分开17精选ppt范围表示的列表.:范围运算符,每次增加1,如1.3o(1.6)=(1,2,3,4,5,6)o(1,2.5,6)=(1,2,3,4,5,6)o(3.3)=(3)o(2.4.5.3)=(2.4,3.4,4.4)o(4.5.1.6)=()o(“aa”.”ad”)=(“aa”,”ab”,”ac”,”ad”)o$month=(01.31)o($a,$a+3)=(3,4,5,6) if $a=318精选ppt数组列表的存储oa=(1,2,3),不同于$a,初始值为()o元素形式:$a0表示第一个元素,索引从0开始,$a-

10、1表示倒数第一个元素o数组的赋值:na=(1,2,3,4); b=a;nb=(2,3); a=(1,a,4);na=; #从屏幕输入进行赋值,按下CTRL-d结束n改变元素的值:$a1=3;n超出数组大小的元素赋值:$a5=6; #自动增长,其他元素为NULLn读取不存在的元素为空:$b = $a6;19精选ppt数组的读出a=(1,2,3);n$a=$a1;n($x, $y, $z)=a; $x=1, $y=2, $z=3;n($x, $y)=a; $x=1, $y=2;n($a,$b,$c,$d)=a; $a=1, $b=2, $c=3, $d=“”;n$a=a=$#a+1; # $a为数

11、组长度,$#a为数组的最后一个元素的索引n($a)=a; # 数组的第一个元素$a0n打印数组:print a; # 元素直接相连 print “a”; # 元素之间用空格分开20精选ppt数组片段a=(1.5)nsub=a0,1,3;na1,3=(“a”,”b”);nb=(1,2,3); sub=ab;na1,2=a2,1;na1,2,3=a3,2,4;21精选ppt数组操作函数osort:缺省按字母排序$a, $b表示数组元素,_代表数组本身nreverse a; # 取数组的逆序nchop a; # 每个元素截去最后一个字符nshift(a); # 删除数组第一个元素并返回该值,缺省对A

12、RGV数组nunshift(a); # 在数组头部添加元素,返回新数组长度npush(a,$a); # 在数组末尾添加元素npop(a); # 删除数组末尾元素22精选ppt数组操作函数(二)ojoin(连接符号, a)把数组连接为一个字串a=(a,b); join(:, a)=“a:b”;osplit(/分隔符/, 分割串, 长度)分隔符:缺省为空格,可省略分割串:缺省为$_,可省略长度:可省略,缺省为全部分割$s=“a,b,c”; a=split(/,/,$s); a=(a,b,c); a=split(/,/,$s, 2); a=(a,b,c);23精选ppt数组函数(三)osplice函

13、数:ret = splice(a, skip, length, newlist);l对数组a进行操作,跳过skip个元素,然后用newlist替换length个元素lnewlist长度可以不为length,但其替换长度总为lengthl如果length=0表示为插入;如果newlist=()则表示为删除l当length和newlist都省略时表示全部删除ofound=grep(/pattern/, search)对数组search的每个元素进行搜索匹配pattern,匹配元素返回到foundomap(expr, list)对数组list的每个元素进行expr运算,返回运算后的数组。元素用$_替

14、代,如map($_+1, (1,2)(2,3)24精选ppt二维数组aoa=1,2,3,a,b,c;n该数组的元素为两个数组n子数组访问: $aoa-0(1,2,3)n子数组元素列表:$aoa-00,1,2n子数组元素访问:$aoa-00a=(1,2,3);b=(a,b,c);$aoa=a,b; $aoa-00;25精选ppt关联数组:哈希/散列o关联数组的表示:%h=(1,a,2,b);o关联数组的下标为关键字key,由key得到的值为valueo上式的意义是%h=(1=a,2=b);o元素形式$h1=a26精选ppt关联数组的赋值%a=(“key1”,1,”key2”,2);%h=a;a=

15、%h;%h1=%h2;($a,%h)=array;%h=(%first, %second);%h1=(%h2, k, v)函数的返回:%h=split();keys=(a,b,c); hashkeys=hashreverse keys;27精选ppt关联数组操作函数okeys(%hash), values(%hash)分别返回键和值的列表,返回元素无顺序o($key, $value)=each(%hash)效率高于先用foreach $k (keys %h), 再用$hash$koexists $hashkey判断关键字是否存在oundef(%h)相当于删除散列%h=();odelete28精

16、选ppt关联数组的顺序foreach $w(sort keys(%hash) # 按照字符串排序或者foreach $w(sort $a$b keys(%hash) #数值排序29精选ppt文件o存放于磁盘,用于读写访问,访问前必须先打开文件,结束时关闭文件open(HANDLE, “filename”) | die $!;o成功返回非零,失败返回零oHANDLE:文件句柄,用来代表操作的文件。以字母开头,字母、数字、下划线组成,一般用大写字母o缺省打开的句柄STDIN, STDOUT, STDERR, 文件描述符为0,1,2。不必调用open就可以直接访问nSTDIN:键盘输入,控制台。nSTDOUT:屏幕,显示屏。nSTDERR:错误输出,显示屏。30精选ppt文件访问模式o只读:open(F, “filename”); 文件不存在则创建新文件,存在则清空重写o追加:open(F, “filename”);在存在的文件后面追加内容o读写:open(F, “+,文件不存在则创建,存在则清空再写o读写:+,文件不存在则创建,存在则追加o管道:|,open(F,“| cathello”)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号