10perl語(yǔ)言部分101語(yǔ)法練習(xí)編程入門(mén)介紹_第1頁(yè)
10perl語(yǔ)言部分101語(yǔ)法練習(xí)編程入門(mén)介紹_第2頁(yè)
10perl語(yǔ)言部分101語(yǔ)法練習(xí)編程入門(mén)介紹_第3頁(yè)
10perl語(yǔ)言部分101語(yǔ)法練習(xí)編程入門(mén)介紹_第4頁(yè)
10perl語(yǔ)言部分101語(yǔ)法練習(xí)編程入門(mén)介紹_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

perl語(yǔ)1可以學(xué)到什僅僅是一 旅真正的學(xué)習(xí)只有靠自己去學(xué)23Perl4為什么選擇 5為什么選擇容易上手,容易6Perl Perl很容Perl處理生物數(shù)據(jù)具有優(yōu)勢(shì)——包(類(lèi)似R語(yǔ)言包7Windows記事本即Windows記事本即可,推薦使用編輯Notepad)運(yùn)行->cmdperltest.pl1test.pl:viusestrict;print 3:wq4、運(yùn)行perl8在window系統(tǒng)下,可以安裝安裝后可以選擇安 9“開(kāi)始”——“所有程序”——“附件—“命令提示或Perl運(yùn)行環(huán)境——運(yùn)安裝如下輸入(#號(hào)后的不輸入進(jìn)入D進(jìn)入PerlPerlPerl程序的基本結(jié)/usr/bin/pel,一般用于定義perusestrict;#若開(kāi)頭使用,一定要用my 相當(dāng)于要求你的 要嚴(yán)格按照格式規(guī)范撰寫(xiě);#每一個(gè)完整句子代碼要以;結(jié)尾,而R“\n”換行;“\t”制表符;“\s”空白與R類(lèi)似認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控Perl的標(biāo)量是單一元素的變變量命哈希:%開(kāi)

例如例如例如R和perl的比在ta標(biāo)量——單一元素變7.257.25×10-@array=("ab","cd"$c="ab@array=("ab","cd"$c="ab“標(biāo)量的比><lle數(shù)組——一系列元素的組my@array=(1,4,3);#一個(gè)包含(1,4,3)三個(gè)元素的數(shù)組;“my”是個(gè)變量有效范圍的,可以$array[0]==1;#結(jié)果應(yīng)該是“真”,@array這個(gè)數(shù)組——一系列元素的組頭,5

尾,3

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

尾部加了兩個(gè)元素,@array變成my$a=pop@array#從尾部刪了一個(gè)元素$a==2;@arraymy$b=shift@array#從頭部刪一個(gè)元素$b=9@array變成print

#打印出某個(gè)元 變量與數(shù)“notepat++”編輯:use:useprint 輸入:perltest.pl 變量與數(shù) mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 變量與數(shù) mymy@array=(1,4,3);print"@array\n";print"$array[0]\n"; 變量與數(shù)繼續(xù)編輯test.pl, 原有行后面繼續(xù)加入printprintmy$number=@array;試試不輸入"my保存,試運(yùn) m”,$nu#這一點(diǎn),perl比較R要強(qiáng),perl會(huì)明確告訴你“錯(cuò)哪里” 變量與數(shù) 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"特別一點(diǎn)的——哈所以,Perl其實(shí)很隨意(請(qǐng)不要在乎細(xì)節(jié)特別一點(diǎn)的——哈my%name=("Unigene1"=>"MGP","Unigene2"=>"APL");這 ke叫值()找到key,自然就找到例如:print“$name{Unigene1}\n”;找到1號(hào);,而不是{即特別一點(diǎn)的——哈myprintmy@kkeys% ID(key)存到數(shù)組printmy@vvalues 簡(jiǎn)稱(chēng)(值)存到數(shù)組$length= delete$name{"gene3"} exists foreach或while等 練習(xí)二:哈在D:\perl文件夾內(nèi),新建“test2.pl”,使用“notpat++”編輯,輸入一下 usemymy$length print"Thenumberofgenesis print"TheUnigene3is$b\n";

my@k=keys%name;# my@v=values print #打 練習(xí)二:哈print"######Thetableofprint"######Thetableoftargetprintprintprintprintprint"#######Theendof認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控好用---強(qiáng)大的正則表達(dá)好用---強(qiáng)大的正則表達(dá)使用格式查找(匹配)file: #查找文本中的“file”單查找與替換例子$string=

$string=~s/love/like/; 命令,此$stringeq"i:like:perl";好用---強(qiáng)大的正則表達(dá)$string=$string=~#\d代表數(shù)字,+代表一個(gè)或多個(gè),(\d+)$string中的一乘以2的操作,/eg的變成了"www44gene88"。

gie替換字符串作為表達(dá)式,比mosx練習(xí)三:正則表達(dá)usemy$string=usemy$string=print"Theoldsentenceis$stringprint"Thenewsentenceis認(rèn)識(shí)組織數(shù)據(jù)——標(biāo)量、數(shù)組、哈挑選數(shù)據(jù)——正則表達(dá)批量處理數(shù)據(jù)——循環(huán)控Perl的常用控制結(jié) 被成功克隆Unless(你發(fā)了>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理論上會(huì)反復(fù)循環(huán),因?yàn)?if($num10lastlast:$num+=print #2468 整個(gè)哈while(my($key,$value)=eachprint"$key=>}each:依次%name中的成對(duì)while(while(my($key,$value)=each%name){print"$key=>$value\n";lastif($keyeq}#則遇到keygene2foreachkeysforeachkeys%name)print"$_=>}#備注:加入sortforeach(keys%name)print"$_=>}#備注:如果不設(shè)定的目標(biāo),變量的值就會(huì)到$_;練習(xí)四:循環(huán)與控 usestrict;my$num=0;while($num<10$num+=print #2468}練習(xí)四:循環(huán)與控usemy%name=('gene1'=>2838,'gene2'=>2344,while(my($key,$value)=each%name){print"$key=>$value\n";}#注意:輸出結(jié)果是亂序隨機(jī)練習(xí)四:循環(huán)與控usemy%name=('gene1'=>2838,'gene2'=>2344,foreach(sort keys%name){print"$_=>$name{$_}\n";}#例子介例如計(jì)算data.txt文件中每條 按行區(qū)不分大小寫(xiě),匹配堿基 何時(shí)輸出結(jié)usemy($number,$count,$print_flag)=(0)x3;my($line,$chr);

#(0)x3等同于(0,0open(IN,dir/data.txt讀入data.txt,一個(gè)fastawhileunless($line){

#自動(dòng)循環(huán),因?yàn)?是yes讀入一行到$linechomp#unless的邏輯和if相反,如果讀到?jīng)]有行了,就print$chr\t$number\n}if($line=~ #匹配“>chr_1”這樣 序列開(kāi)頭if($print_flag){#讀第一 id并激發(fā),因?yàn)檫@時(shí)print"$chr\t$number\n";#輸出上一 信 #$number歸零,留著記錄新 信} #$1和$2$1(^$2}$count$line=~s/c/c/ig);##記錄替換的次數(shù)/i不區(qū)分大小寫(xiě)/g$count #累積每一行的計(jì)算結(jié)}警惕小錯(cuò)文字符包括空格、標(biāo)點(diǎn)符號(hào)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論