10perl语言部分101语法练习编程入门介绍_第1页
10perl语言部分101语法练习编程入门介绍_第2页
10perl语言部分101语法练习编程入门介绍_第3页
10perl语言部分101语法练习编程入门介绍_第4页
10perl语言部分101语法练习编程入门介绍_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

perl语1可以学到什仅仅是一 旅真正的学习只有靠自己去学23Perl4为什么选择 5为什么选择容易上手,容易6Perl Perl很容Perl处理生物数据具有优势——包(类似R语言包7Windows记事本即Windows记事本即可,推荐使用编辑Notepad)运行->cmdperltest.pl1test.pl:viusestrict;print 3:wq4、运行perl8在window系统下,可以安装安装后可以选择安 9“开始”——“所有程序”——“附件—“命令提示或Perl运行环境——运安装如下输入(#号后的不输入进入D进入PerlPerlPerl程序的基本结/usr/bin/pel,一般用于定义perusestrict;#若开头使用,一定要用my 相当于要求你的 要严格按照格式规范撰写;#每一个完整句子代码要以;结尾,而R“\n”换行;“\t”制表符;“\s”空白与R类似认识组织数据——标量、数组、哈挑选数据——正则表达批量处理数据——循环控Perl的标量是单一元素的变变量命哈希:%开

例如例如例如R和perl的比在ta标量——单一元素变7.257.25×10-@array=("ab","cd"$c="ab@array=("ab","cd"$c="ab“标量的比><lle数组——一系列元素的组my@array=(1,4,3);#一个包含(1,4,3)三个元素的数组;“my”是个变量有效范围的,可以$array[0]==1;#结果应该是“真”,@array这个数组——一系列元素的组头,5

尾,3

my$number=@array;push@array,(1,2);unshift@array,9;

尾部加了两个元素,@array变成my$a=pop@array#从尾部删了一个元素$a==2;@arraymy$b=shift@array#从头部删一个元素$b=9@array变成print

#打印出某个元 变量与数“notepat++”编辑:use:useprint 输入:perltest.pl 变量与数 mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 变量与数 mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 变量与数继续编辑test.pl, 原有行后面继续加入printprintmy$number=@array;试试不输入"my保存,试运 m”,$nu#这一点,perl比较R要强,perl会明确告诉你“错哪里” 变量与数 print"@array\n";unshift@array,9;print"@array\n";my$a=pop@array;print"$aand@array\n";my$b=shift@array;print"$band@array\n"特别一点的——哈所以,Perl其实很随意(请不要在乎细节特别一点的——哈my%name=("Unigene1"=>"MGP","Unigene2"=>"APL");这 ke叫值()找到key,自然就找到例如:print“$name{Unigene1}\n”;找到1号;,而不是{即特别一点的——哈myprintmy@kkeys% ID(key)存到数组printmy@vvalues 简称(值)存到数组$length= delete$name{"gene3"} exists foreach或while等 练习二:哈在D:\perl文件夹内,新建“test2.pl”,使用“notpat++”编辑,输入一下 usemymy$length print"Thenumberofgenesis print"TheUnigene3is$b\n";

my@k=keys%name;# my@v=values print #打 练习二:哈print"######Thetableofprint"######Thetableoftargetprintprintprintprintprint"#######Theendof认识组织数据——标量、数组、哈挑选数据——正则表达批量处理数据——循环控好用---强大的正则表达好用---强大的正则表达使用格式查找(匹配)file: #查找文本中的“file”单查找与替换例子$string=

$string=~s/love/like/; 命令,此$stringeq"i:like:perl";好用---强大的正则表达$string=$string=~#\d代表数字,+代表一个或多个,(\d+)$string中的一乘以2的操作,/eg的变成了"www44gene88"。

gie替换字符串作为表达式,比mosx练习三:正则表达usemy$string=usemy$string=print"Theoldsentenceis$stringprint"Thenewsentenceis认识组织数据——标量、数组、哈挑选数据——正则表达批量处理数据——循环控Perl的常用控制结 被成功克隆Unless(你发了>4分 ifmyif($x==5){ 如果$x等于5….print"Xmustbe5\n";}elsif$x4 print"Xmustbe}else{ print"Xisnot4or5\n";}mywhile($num10#只要$num<10$num2;给$numprint #2468}while1理论上会反复循环,因为1if($num10lastlast:$num+=print #2468 整个哈while(my($key,$value)=eachprint"$key=>}each:依次%name中的成对while(while(my($key,$value)=each%name){print"$key=>$value\n";lastif($keyeq}#则遇到keygene2foreachkeysforeachkeys%name)print"$_=>}#备注:加入sortforeach(keys%name)print"$_=>}#备注:如果不设定的目标,变量的值就会到$_;练习四:循环与控 usestrict;my$num=0;while($num<10$num+=print #2468}练习四:循环与控usemy%name=('gene1'=>2838,'gene2'=>2344,while(my($key,$value)=each%name){print"$key=>$value\n";}#注意:输出结果是乱序随机练习四:循环与控usemy%name=('gene1'=>2838,'gene2'=>2344,foreach(sort keys%name){print"$_=>$name{$_}\n";}#例子介例如计算data.txt文件中每条 按行区不分大小写,匹配碱基 何时输出结usemy($number,$count,$print_flag)=(0)x3;my($line,$chr);

#(0)x3等同于(0,0open(IN,dir/data.txt读入data.txt,一个fastawhileunless($line){

#自动循环,因为1是yes读入一行到$linechomp#unless的逻辑和if相反,如果读到没有行了,就print$chr\t$number\n}if($line=~ #匹配“>chr_1”这样 序列开头if($print_flag){#读第一 id并激发,因为这时print"$chr\t$number\n";#输出上一 信 #$number归零,留着记录新 信} #$1和$2$1(^$2}$count$line=~s/c/c/ig);##记录替换的次数/i不区分大小写/g$count #累积每一行的计算结}警惕小错文字符包括空格、标点符号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论