




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、整理ppt生物信息學與生物統(tǒng)計學系整理ppt主要內容nPERL簡介nPERL腳本的編寫nPERL變量nPerl語法nPERL與正則表達式nPERL示例整理pptPERL釋義Practical Extraction and Report Language 實用摘錄和報告語言,但它其實不是縮寫實用摘錄和報告語言,但它其實不是縮寫Larry Wall,1987.12.18Perl的歷史的歷史整理pptPerl的環(huán)境準備l Unix:大多數(shù)內置:大多數(shù)內置l 一些軟件也內置一些軟件也內置perl,比如,比如apache/oraclel Windows:ActivePerl5.10.0整理pptPerl
2、的工具編輯工具:編輯工具:notepad,viIDE:Komodo,Perl Dev KitCGI:Top perl studio,Perl builder,perl edit,perlwiz,Mod_perl整理pptPerl的功能l腳本語言,解釋執(zhí)行,無需編譯腳本語言,解釋執(zhí)行,無需編譯l具有編譯語言如具有編譯語言如c、Java的功能,又有的功能,又有shell腳本的方便腳本的方便l無數(shù)據(jù)類型區(qū)分,適于不太復雜的程序無數(shù)據(jù)類型區(qū)分,適于不太復雜的程序l適于不要求速度,不在乎內存適于不要求速度,不在乎內存CPU等系統(tǒng)資源的任務等系統(tǒng)資源的任務l強大的字符串處理功能強大的字符串處理功能l靈活或
3、復雜的正則表達式靈活或復雜的正則表達式l大多數(shù)平臺支持,除了專用模塊,可在不同平臺運行大多數(shù)平臺支持,除了專用模塊,可在不同平臺運行整理pptPerl的應用nWeb編程:CGI,XML處理n系統(tǒng)管理n網(wǎng)絡編程(安全腳本).n數(shù)據(jù)庫管理n圖像處理n其他眾多的領域。整理ppt一個示例#!/usr/bin/perlPrint “This is my first perl programn”;$a=;Print $a;l第一行: #!/usr/bin/perl 由什么程序執(zhí)行以下的內容l注釋:l輸入:l輸出:printl$a:變量,無需指定數(shù)據(jù)類型整理pptperl的四種變量oScalar:標量,以$
4、開始,后面以字母或_開頭,再后面可以是字母或數(shù)字oarray:數(shù)組,列表,以開頭oHash: 哈希,散列,以%開頭o文件:大寫字母o區(qū)分大小寫,$Var, $VAR, $varo內置變量$/,$等整理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
5、”print this is $var; # this is $var整理ppt變量初值l未創(chuàng)建時狀態(tài)為undef,到達文件尾也為undefl說明變量為未定義:undef $a;l用在條件判斷中:if(undef $a)l代替不關心的變量:$s=“a:b:c:d; ($a1,undef,undef,$d1)=split(/:/, $s);l如果有undef變量又不知在哪,可加-w參數(shù)進行提示#!/usr/bin/perl -wl創(chuàng)建后狀態(tài)為defined 一般用在條件判斷中if(defined $a)l整數(shù)初值為0,字符串初值為空串”。一般未賦值就使用時$result = $undefined
6、 + 2; 整理ppt相關函數(shù)olength():字符串長度ouc, lc, ucfirst, lcfirst:改變大小寫函數(shù)osubstr, index, pos:字符串函數(shù)osin等三角函數(shù)orand(), srand():隨機發(fā)生函數(shù)$lastchar = chop($str) # 截去最后一個字符$result = chomp($str) # 截去末尾的行分隔符(通常為”n”),行分隔符由$/定義整理ppt控制結構oif(condition1) elsif(condition2)elseounless()ountil()odo until()owhile()odo while ()of
7、or(;)oforeach循環(huán)語句整理pptforeacho語法:foreach $w(list|array)statemento()內可以是數(shù)組a,也可以是列表(1,2,3)o數(shù)組元素值可以修改,列表則是常量o$w不影響本來已定義的變量$w,循環(huán)結束后恢復o可以用$a(a)用相同的變量名稱o示例:nforeach $a(a)用于數(shù)組nforeach $a(1,2,3,4)用于列表nforeach $k(keys %h)用于哈希/散列nforeach $a(a1,2,4)僅對數(shù)組部分元素nforeach (a)缺省循環(huán)變量為$_整理ppt循環(huán)控制olast:退出循環(huán)onext:進入下一循環(huán)or
8、edo:重新執(zhí)行本次循環(huán)ogoto:跳轉ocontinuestatement整理ppt單行條件語句與循環(huán)語句oprint $a if $a=0;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函數(shù):在控制臺標準錯誤輸出信息后退出程序。warn: 輸出信息后不退出程序,只起警報作用。$!:內部變量,包含錯誤代碼。$:內部變量,包含錯誤信息。整理ppt列表數(shù)組的形式o形式:(1,
9、”a”,2.3, $a, $x+1),其元素可以是數(shù)字、字符串、變量、表達式o空列表(),單元素列表(2)不同于標量2oqw(1 $a str)n()可以用其他符號表示,如n元素可以是數(shù)值、變量、不帶引號的字符串,中間用空格分開整理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,
10、5,6) if $a=3整理ppt數(shù)組列表的存儲oa=(1,2,3),不同于$a,初始值為()o元素形式:$a0表示第一個元素,索引從0開始,$a-1表示倒數(shù)第一個元素o數(shù)組的賦值:na=(1,2,3,4); b=a;nb=(2,3); a=(1,a,4);na=; #從屏幕輸入進行賦值,按下CTRL-d結束n改變元素的值:$a1=3;n超出數(shù)組大小的元素賦值:$a5=6; #自動增長,其他元素為NULLn讀取不存在的元素為空:$b = $a6;整理ppt數(shù)組的讀出a=(1,2,3);n$a=$a1;n($x, $y, $z)=a; $x=1, $y=2, $z=3;n($x, $y)=a;
11、$x=1, $y=2;n($a,$b,$c,$d)=a; $a=1, $b=2, $c=3, $d=“”;n$a=a=$#a+1; # $a為數(shù)組長度,$#a為數(shù)組的最后一個元素的索引n($a)=a; # 數(shù)組的第一個元素$a0n打印數(shù)組:print a; # 元素直接相連 print “a”; # 元素之間用空格分開整理ppt數(shù)組片段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;整理ppt數(shù)組操作函數(shù)osort:缺省按字母排序$a, $b表示數(shù)組元素,_代表數(shù)組本身nrevers
12、e a; # 取數(shù)組的逆序nchop a; # 每個元素截去最后一個字符nshift(a); # 刪除數(shù)組第一個元素并返回該值,缺省對ARGV數(shù)組nunshift(a); # 在數(shù)組頭部添加元素,返回新數(shù)組長度npush(a,$a); # 在數(shù)組末尾添加元素npop(a); # 刪除數(shù)組末尾元素整理ppt數(shù)組操作函數(shù)(二)ojoin(連接符號, a)把數(shù)組連接為一個字串a(chǎn)=(a,b); join(:, a)=“a:b”;osplit(/分隔符/, 分割串, 長度)分隔符:缺省為空格,可省略分割串:缺省為$_,可省略長度:可省略,缺省為全部分割$s=“a,b,c”; a=split(/,/,$s
13、); a=(a,b,c); a=split(/,/,$s, 2); a=(a,b,c);整理ppt數(shù)組函數(shù)(三)osplice函數(shù):ret = splice(a, skip, length, newlist);l對數(shù)組a進行操作,跳過skip個元素,然后用newlist替換length個元素lnewlist長度可以不為length,但其替換長度總為lengthl如果length=0表示為插入;如果newlist=()則表示為刪除l當length和newlist都省略時表示全部刪除ofound=grep(/pattern/, search)對數(shù)組search的每個元素進行搜索匹配pattern,
14、匹配元素返回到foundomap(expr, list)對數(shù)組list的每個元素進行expr運算,返回運算后的數(shù)組。元素用$_替代,如map($_+1, (1,2)(2,3)整理ppt二維數(shù)組aoa=1,2,3,a,b,c;n該數(shù)組的元素為兩個數(shù)組n子數(shù)組訪問: $aoa-0(1,2,3)n子數(shù)組元素列表:$aoa-00,1,2n子數(shù)組元素訪問:$aoa-00a=(1,2,3);b=(a,b,c);$aoa=a,b; $aoa-00;整理ppt關聯(lián)數(shù)組:哈希/散列o關聯(lián)數(shù)組的表示:%h=(1,a,2,b);o關聯(lián)數(shù)組的下標為關鍵字key,由key得到的值為valueo上式的意義是%h=(1=a
15、,2=b);o元素形式$h1=a整理ppt關聯(lián)數(shù)組的賦值%a=(“key1”,1,”key2”,2);%h=a;a=%h;%h1=%h2;($a,%h)=array;%h=(%first, %second);%h1=(%h2, k, v)函數(shù)的返回:%h=split();keys=(a,b,c); hashkeys=hashreverse keys;整理ppt關聯(lián)數(shù)組操作函數(shù)okeys(%hash), values(%hash)分別返回鍵和值的列表,返回元素無順序o($key, $value)=each(%hash)效率高于先用foreach $k (keys %h), 再用$hash$koe
16、xists $hashkey判斷關鍵字是否存在oundef(%h)相當于刪除散列%h=();odelete整理ppt關聯(lián)數(shù)組的順序foreach $w(sort keys(%hash) # 按照字符串排序或者foreach $w(sort $a$b keys(%hash) #數(shù)值排序整理ppt文件o存放于磁盤,用于讀寫訪問,訪問前必須先打開文件,結束時關閉文件open(HANDLE, “”) | die $!;o成功返回非零,失敗返回零oHANDLE:文件句柄,用來代表操作的文件。以字母開頭,字母、數(shù)字、下劃線組成,一般用大寫字母o缺省打開的句柄STDIN, STDOUT, STDERR, 文
17、件描述符為0,1,2。不必調用open就可以直接訪問nSTDIN:鍵盤輸入,控制臺。nSTDOUT:屏幕,顯示屏。nSTDERR:錯誤輸出,顯示屏。整理ppt文件訪問模式o只讀:open(F, “”); 文件不存在則創(chuàng)建新文件,存在則清空重寫o追加:open(F, “”);在存在的文件后面追加內容o讀寫:open(F, “+,文件不存在則創(chuàng)建,存在則清空再寫o讀寫:+,文件不存在則創(chuàng)建,存在則追加o管道:|,open(F,“| cathello”);把文件F的輸出(print F $a)作為后的輸入。open(F,“comm|”);把comm的輸出作為F的輸入。以下的內容只要讀出。comm為命
18、令。整理ppt文件緩沖 緩沖 無緩沖打開: open,sysopen sysopen關閉 close讀 ,readline sysread寫 print syswrite定位 tell,seek sysseek整理ppt讀文件o$line=讀一行到line,指針后移一行。缺省讀到$_中。$/=n,為行分隔符,遇到它則為一行結束,行包含$/??捎胏homp($s)去除此標志,行尾不含$/則不去除字符??稍O置$/為其他字符串,遇到$/為行結束,chomp去除此字符串。 oarray=文件內容全部讀出,每行為一個元素。含回車。o當從STDIN中讀時,可省略為。oread(F,$in,len,$off
19、set)讀入$inosysread(F,$in,len,$offset) getc(F)讀一個字符整理ppt命令行參數(shù)ARGV:全局,$ARGV0是第一個參數(shù),不是程序名。是對$ARGV的引用。ARGV一旦賦值,原值丟失。1。第一次看到時,打開以$ARGV0中的文件。無參數(shù)則打開STDIN讀。所以可以省略。2。shift(ARGV),元素數(shù)量減少一個。3。讀打開的文件中的所有行。4。再讀第二個參數(shù)表示的文件。文件尾檢測:eof和eof()。文件結束返回真。 ARGV(”file1”,”file2”); while($line=)if(eof)print eof; 讀取file1到末尾時,下一循
20、環(huán)打開下一文件。每次讀完一個文件輸出eof. if(eof()print eof);所有文件都讀完才輸出eof。整理ppt寫文件printf(“format str”,$a,$b);同c中的printf,格式化串包含%m.nf的格式指示,后面依次是相應的值列表。print F ( “str”);F文件句柄,后面為空格,省略F為STDOUT。str輸出內容??捎脝我枺贿M行變量替換,不加引號,計算出變量的值再輸出。()可省略。這是函數(shù)的特點。write用于格式化輸出。不是read的相應操作。syswrite(F,$data,length,$offset);同sysread文件測試op expr
21、 if( -e “file1”)print STDERR (“file1n”);文件是否存在。-b是否為塊設備-c是否為字符設備-d是否為目錄 -e是否存在-f是否為普通文件 -g是否設置了setgid位-k是否設置了sticky位 -l是否為符號鏈接-o是否擁有該文件 -p是否為管道-r是否可讀 -s是否非空-t是否表示終端-u是否設置了setuid位-w是否可寫-x是否可執(zhí)行-z是否為空文件-A距上次訪問多長時間-B是否為二進制文件-C距上次訪問文件的inode多長時間 -M距上次修改多長時間-O是否只為“真正的用戶”所擁有-R是否只有“真正的用戶”可讀-S是否為socket-T是否為文本
22、文件-W是否只有“真正的用戶”可寫-X是否只有“真正的用戶”可執(zhí)行-s 返回文件長度,-A-C-M返回天數(shù)。整理ppt正則表達式(模式匹配)檢驗匹配是否成功=字符串是否匹配模式,匹配則為真,沒有匹配則為假。!不匹配為真,匹配為假。regular expression,規(guī)則表達式模式匹配,在字符串中尋找特定序列的字符。指定模式:由斜線包含,/def/即模式def。匹配操作符 =、!$question=“expleaseding”$question = /please/$question!/edit/整理ppt正則表達式的使用if ($question = /please/) print (Tha
23、nk you for being polite!n); else print (That was not very polite!n); 用于條件判斷:grep:正則表達式只對簡單變量匹配,如果是數(shù)組a=/abc/,則2=/abc/。用grep(/abc/,a);對數(shù)組中的每個元素匹配。split(/abc/,$line)根據(jù)模式匹配分割字符串。模式匹配的3種類型:m/模式匹配,s/匹配并替換,tr/逐一替換,翻譯整理ppt模式匹配之一:元字符+ 一個或多個相同的前導字符(模式)。如:/de+f/指def、deef、deeeeef等。是對前一個匹配模式的重復,不是匹配后的字符的重復。如/deE
24、+/,匹配de,dee,dE,dEE,deE,dEe。不是匹配了e后再重復eee,就沒有eE了。相當于/deEeEeE/。* 匹配0個、1個或多個相同字符?匹配0個或1個該前一個字符. 匹配除換行外的所有單個字符,通常與*合用 .*所有任意數(shù)量字符。與前一字符結合,可不出現(xiàn)字符。相當于.匹配指定數(shù)目的字符 指定所匹配字符的出現(xiàn)次數(shù)。如:/de1,3f/匹配def,deef和deeef;/de3f/匹配deeef;/de3,f/匹配不少于3個e在d和f之間;/de0,3f/匹配不多于3個e在d和f之間。整理ppt。表示除其之外的所有字符,如:/ddeEf/匹配d加非d,e,E字符加f的字符串模式
25、匹配之二:選擇 匹配一組字符中的任一個。/a0123456789c/將匹配a加一個數(shù)字加c的字符串。與+聯(lián)合使用例:/deE+f/匹配def、dEf、deef、dEdf字符|指定兩個或多個選擇來匹配模式。每個選擇都是一個匹配或一組。不是單個字符。如:/def|ghi/匹配def或ghi。/x|y+/匹配x或y+。0-9 a-z A-Z /a0-9c/ 匹配任意字母或數(shù)字0-9a-zA-Z例:檢驗數(shù)字表示合法性 if ($number = /-?d+$|-?0 xXda-fa-F+$/) print ($number is a legal integer.n); else print ($num
26、ber is not a legal integer.n); 其中 -?d+$ 匹配十進制數(shù)字,-?0 xXda-fa-F+$ 匹配十六進制數(shù)字。整理ppt轉義符和定界符模式中包含通常被看作特殊意義的字符,須在其前加斜線。如:/*+/中*即表示字符*,而不是上面提到的一個或多個字符的含義。斜線的表示為/。在PERL5中可用字符對Q和E來轉義。從Q開始到E間的字符為原始字符,無特殊含義。 d 任意數(shù)字 0-9 D 除數(shù)字外的任意字符 0-9 w 任意單詞字符 _0-9a-zA-Z W 任意非單詞字符 _0-9a-zA-Z s 空白 rtnf S 非空白 rtnf 例:/da-z/匹配任意數(shù)字或小
27、寫字母。定界定界: 或 A 僅匹配字符串首 $ 或 Z 僅匹配字符串尾 b 匹配單詞邊界 B 單詞內部匹配/def/只匹配行以def打頭的字符串,/def$/只匹配以def結尾的字符串,結合起來的/def$/只匹配字符串def$和A,Z在多行匹配時用法不同。整理ppt示例例1:檢驗變量名的類型: if ($varname = /$A-Za-z_0-9a-zA-Z*$/) print ($varname is a legal scalar variablen); elsif ($varname = /A-Za-z_0-9a-zA-Z*$/) print ($varname is a legal
28、array variablen); elsif ($varname = /A-Za-z_0-9a-zA-Z*$/) print ($varname is a legal n); else print (I dont understand what $varname is.n); 例2:b在單詞邊界匹配:/bdef/匹配def和defghi等以def打頭的單詞,但不匹配abcdef。/defb/匹配def和abcdef等以def結尾的單詞,但不匹配defghi,/bdefb/只匹配字符串def。注意:/bdef/可匹配$defghi,因為單詞包括字母數(shù)字下劃線 , $并不被看作是單詞的部分。例3
29、:B在單詞內部匹配:/Bdef/匹配abcdef等,但不匹配def;/defB/匹配defghi等;/BdefB/匹配cdefg、abcdefghi等,但不匹配def,defghi,abcdef。整理ppt模式的重用當模式中匹配相同的部分出現(xiàn)多次時,可用括號括起來,用n來多次引用,以簡化表達式。把匹配的值存起來以后再用,和+模式的重復不同。只在本次匹配可用。還可以在匹配外引用。例:/d2(W)d21d2/ 匹配12-05-92,26.11.87,07 04 92等但不匹配12-05.92 注意:/d2(W)d21d2/ 不同于/(d2)(W)121/ ,后者只匹配形如17-17-17的字符串,
30、而不匹配17-05-91等。整理ppt模式變量在模式匹配后調用重用部分的結果可用變量$n,全部的結果,匹配模式用變量$&,包含不在括號中的。匹配處之前的部分用變量$,匹配處之前的部分用變量$。也可用列表一次取得。 $string = This string contains the number 25.11.; $string = /-?(d+).?(d+)/; # 匹配結果為25.11 $integerpart = $1; # now $integerpart = 25 $decimalpart = $2; # now $decimalpart = 11 $totalpart = $
31、& # now totalpart = 25.11 $_ = This string contains the number 25.11.; result = /-?(d+).?(d+)/; 匹配得到的變量形成列表,可賦值給數(shù)組。 當匹配失敗,$1的內容不確定,可能是從前匹配的內容。為避免匹配失敗要進行是否匹配成功的判斷,或直接賦值。 ($m1,$m2)=($name=/(ab).*(c) 把()內的匹配值直接賦與$m1,$m2,不改變$1的值。 嵌套使用:/(aaa)*)/,最外層的括號為$1,內層為$2,$3。整理ppt匹配選項g 匹配所有可能的模式,根據(jù)懶惰規(guī)則不加g只匹配一處。
32、返回到數(shù)組中。 matches = balata = /.a/g; # matches = (ba, la, ta) 匹配的循環(huán):每次匹配記住上次的位置 while (balata = /.a/g) $match = $& print ($matchn); 結果為: ba la ta 當要匹配的字符串改變時重新開始搜索。 當使用了選項g時,可用函數(shù)pos來控制下次匹配的偏移: $offset = pos($string);下一個匹配開始的位置 pos($string) = $newoffset;從此位置開始搜索匹配整理ppt匹配選項i 忽略模式中的大小寫:/de/i 匹配de,dE,D
33、e和DE。m 將待匹配串視為多行,符號匹配字符串的起始或新的一行的起始;$符號匹配任意行的末尾。以下例只匹配第一行為a,否則無匹配; $line=a b c; $line=/(.*)$/m;s 將待匹配串視為單行 。.可以匹配n。 /a.*bc/s匹配字符串a(chǎn)xxxxx nxxxxbc,但/a.*bc/則不匹配該字符串。o 僅只執(zhí)行一次變量替換 $var = 1; $line = ; while ($var 10) $result = $line = /$var/o; $line = ;$var+; 第一次匹配1,第二次值為2,但仍匹配1。x 忽略模式中的空白 。格式清晰 /d2 (W) d2
34、 1 d2/x等價于/d2(W)d21d2/。整理ppt匹配符號的優(yōu)先級象操作符一樣,轉義和特定字符也有執(zhí)行次序() 模式內存 + * ? 出現(xiàn)次數(shù) $ b B 錨 | 選項擴展匹配模式(?pattern),其中c是一個字符,pattern是起作用的模式或子模式。3、(?#注釋)模式注釋 PERL5中可以在模式中用?#來加注釋,如: if ($string = /(?i)a-z2,3(?# match two or three alphabetic characters)/ . 1、(?:pattern)不存貯括號內的匹配內容括號內的子模式將存貯在內存中,此功能即取消存貯該括號內的匹配內容,如/(?:a|b|c)(d|e)f1/中的1表示已匹配的d或e,而不是a或b或c。2、 /(?option)pattern/內嵌模式選項 通常模式選項置于其后,有四個選項:i、m、s、x可以內嵌使用,等價于/pattern/option。/(?i)a-z+/=/a-z+/i4、(?)取消貪婪 a12b38b /a.*b/ 全部匹配,當/a(.*?)b/時匹配a12b。 同樣的有*?,+?,?,x?,x,?,x,y?, 整理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工簽合同評語
- 成立公司項目合作協(xié)議
- 三年級數(shù)學(上)計算題專項練習附答案
- 二年級數(shù)學計算題專項練習
- 觀察家人做飯的過程200字
- 合同范本模板顏色
- 中介項目居間合同范本
- 倉庫保安雇傭合同范例
- 2018年x2025學年健康教育工作總結-
- 全款購房轉合同范例
- 陜西各市(精確到縣區(qū))地圖PPT課件(可編輯版)
- JTG C10-2007 公路勘測規(guī)范正式版
- (完整版)國際金融法
- 近代德國的學前教育課件
- 球墨鑄鐵正火工藝
- 裝修項目經(jīng)理簡歷
- (完整版)管理學專業(yè)英語詞匯大全
- 《隆中對》教學講解課件
- 污水處理項目運營期績效考核評分表
- 香味的分類(撲卻分類法)
- 鹽城市殘疾人康復機構認定暫行辦法
評論
0/150
提交評論