1、fred is fredn(Should be 6 7 8 9 10)nmy barney = &above_average(100, 1.10);barney is barneyn(Should be just 100)n#!usrbinperl -wuse strict;sub above_average my in=_; my $average_value=&average(in); my out; foreach(in) if($_$average_value)push out,$_; return out;sub average my $sum=0; foreach(in) $sum
2、+=$_; $sum=$sum/in; return $sum;3 写一个程序,要求用户在不同的行中输入一些字符串,将此字符串打印出来,规则是:每一条占20 个字符宽度,右对齐。为了确保正确的输出,在开头打印出一串数字作为比较(帮助调试)。注意,不要犯19 个字符宽度的错误。例如,如果输入,hello, good-bye,则输出为:123456789012345678901234567890123456789012345678901234567890hellogood-bye(第5章习题)/usr/bin/perl -wunless(ARGV)length of linemy $length=
3、$ARGV1;)or die;$ARGV2my $cnt=1;foreach(1.$length)$cnt $cnt+; if($cnt=10)$cnt=0;print OUT while(=$length)print OUT $_n else foreach(1.$length-$len) print OUT print OUT close IN;close OUT;修改上一个程序,允许用户选择宽度,如,用户输入30,hello, good-bye(在不同的行中),则每一行的宽度为30。(提示:参阅第二章相应部分)。提示,如果选择的宽度太长,可以增加比较行的长度。my ($n,a)=spli
4、t /s*,s*/,chomp $a-1;4 写一个程序,读入一串单词(一个单词一行),输出每一个单词出现的次数。如果某个作为数字使用值是undefined 的,会自动将它转换为0。)如果输入单词为fred, barney, dino, wilma, fred(在不同行中),则输出的fred 将为3。作为额外的练习,可以将输出的单词按照ASCII 排序。(第6章习题)my %count;) $count$_+;foreach(sort $a cmp $b keys %count) $_t$count$_n5 使用模式测试程序,创造一个模式能匹配任何单词(w 意义下的单词),但这个单词必需以字母
5、a 结尾。它匹配wilma而没匹配barney 吗?它匹配Mrs. Wilma Flintstone 吗? wilma&fred 呢?使用前一章习题的文件进行练习(如果没有上述字符串,则加上它们)(第8章习题)修改上述程序,使之将由a 结尾的单词放到$1 之中。同时修改源代码,使此变量对应的值被放在单引号之中,如$1 contains Wilma。unless(ARGV) if($_=/(w*a)W?/ or $_=/(w+a)$/)print OUT $_ contains $1 # also, /(w*a)b/What about “wssssilma&fred,also Mrs. Wil
6、ma Flintstone” ?6 写一个程序,它可以得到当前文本文件的一个拷贝。在拷贝的文件中,字符串Fred(大小写无关)将被Larry 替换掉。(因此,“Manfred Mann”将变成“ManLarry Mann”.)输入的文件名已经在命令行中指定(不需要询问用户),输出的文件名是对应的输入文件名后面加上.out。(第9章 习题)修改上面程序,使之将Fred 由Wilma 替换,Wilma 由Fred 替换。如果输入的为fred&wilma,则输出为Wilma$Fred。$ARGV0.out) s/fred/n/ig; s/wilma/Fred/ig; s/n/Wilma/ig;7 写
7、一个程序,能重复要求用户猜测某个在1 到100 之间的数字,直到猜对为止。你的程序应当能随机的产生一个数字,使用公式int(1 + rand 100)。当用户猜测错误时,程序应该回应“Too high”或者“Too low”。如果用户输入quit或exit,或者回车时,程序应立即退出。如果用户猜测正确,程序也退出。(第10章 习题)if(defined $ARGV0 and $ARGV0 =/help/i) just runnThis is a game of guess the number between 1-100nHave Fun_nmy $num=int(1+rand 100);my
8、 $in=$num)print Too Highn$in=next; elsif($inToo Lowern elsif($in=$num)print Great,you are rightn8 写一个程序,找出命令行中存在时间最长的文件名,并报告其天数。当参数为空时,其行为如何(例如,命令行中没有输入任何的文件)?(第11 章 习题)perl $0 my in=ARGV;my $longest=0;my $save_name;foreach(in) my $age=-M; if($age$longest)$longest=$age;$save_name=$_;The longest file
9、 is $save_namenIt $longest days after modifiedn9 如果你的操作系统支持,写一个程序来查找当前目录下的符号连接(symbolic links),并将它们的值打印出来(如lsl 一样:name - value)。(第12章 习题)dirmy file=glob $ARGV0/*foreach(file) chomp $_; my $link=readlink if(defined $link)print $_ - $linkna=ls -l|grep -e -;10 写一个程序,从文件中读入字符串,一行一个字符串,然后让用户输入模式,这个模式可能匹配
10、上某些字符串。对于每一个模式,程序将指出文件中有多少个字符串(多少行)匹配上了,并指出是哪些。对于新的模式不需要重新读文件,将这些字符串保留在内存中。文件名可以直接写在程序之中。如果模式无效(例如,圆括号不匹配),则程序报告这个错误,并让用户继续尝试新的模式。当用户输入一个空行,则程序退出。(第16 章 习题)my in= print Please input a modeln my $model= chomp $model; if($model=/s+$/ or ! defined $model) print Nextn last; my $cnt=0; foreach(in) if($_=
11、/$model/) print $cnt+; Total $cnt match the modeln next;11 将blast程序原始输出转换成列表格式,16列数据分别是 1 Query_id 2 Query_length 3 Query_start 4 Query_end 5 Subject_id 6 Subject_length 7 Subject_start 8 Subject_end 9 Identity 10 Positive 11 Gap 12 Align_length 13 Score 14 E_value 15 Query_annotation 16 Subject_ann
12、otationBLASTN 2.2.18 Mar-02-2008Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), Gapped BLAST and PSI-BLAST: a new generation of protein database searchprograms, Nucleic Acids Res. 25:3389-3402.Query= X1607
13、7#rRNA_18S Arabidopsis thaliana 18S rRNA gene (1902 letters)Database: /panfs/GAG/xiemin/FFF/rRNA/././ass.scafSeq.gapfill3.shorter.cut/ass.scafSeq.gapfill3.shorter.18 131 sequences; 13,055,928 total lettersSearching.done Score ESequences producing significant alignments: (bits) Valuescaffold634 337 6
14、e-92scaffold634 Length = 18181 Score = 337 bits (170), Expect = 6e-92 Identities = 230/250 (92%) Strand = Plus / Minus Query: 1171 gagaaatcaaagtttttgggttccggggggagtatggtcgcaaggctgaaacttaaagga 1230 | | | | | |Sbjct: 9158 gagaaatcaaagtttttgtattccgggggaagtatggttgcaaagctgaaacttaaagaa 9099 1231 attgacgga
15、agggcaccaccaggagtggagcctgcggcttaatttgactcaacacgggga 1290 | | 9098 attgacggaagggcaccaccaggagtggagcctgcggcttaatttgactcaacacgggaa 9039 1291 aacttaccaggtccagacatagtaaggattgacagactgagagctctttcttgattctat 1350 | | | | | | | | 9038 atcttaccaggcccagacactggaaggattgacagattgaaagctctttcttgattcagt 8979 1351 gggtg
16、gtggtgcatggccgttcttagttggtggagcgatttgtctggttaattccgttaa 1410 | | | | | 8978 gggtggtggtgcatggccgttcttagttggtggagtgatttgtctgcttaattgcgataa 8919 1411 cgaacgagac 1420 | 8918 cgaacgagac 8909 Score = 317 bits (160), Expect = 6e-86 Identities = 321/372 (86%), Gaps = 2/372 (0%) 353 gatcgcatggcctctgtgctggcga
17、cgcatcattcaaatttctgccctatcaactttcga 412 | | | | | | 10036 gatcgcatggcctc-gcgccagcgacgcatctttcaaatgtctgccctatcaactttcga 9978 413 tggtaggatagtggcctaccatggtggtaacgggtgacggagaattagggttcgattccg 472 | | | | | | | | | 9977 tggtaagttctatgcttaccatggttgtaacgggtaacggggaatcagggttcgattccg 9918 473 gagagggagcctga
18、gaaacggctaccacatccaaggaaggcagcaggcgcgcaaattacc 532 | | | 9917 gagaggcagcctgagacacggctaccacatccaaggaaggcagcaggcgcgcaaattacc 9858 533 caatcctgacacggggaggtagtgacaataaataacaataccgggctctttcga-gtctg 591 | | | | | | | | | | | | | 9857 cactcccggcacggggaggtagtgacgaaagataacaatacgggactcatccgaggcctc 9798 592 gt
19、aattggaatgagtacaatctaaatcccttaacgaggatccattggagggcaagtctgg 651 | | | | | | | | | 9797 gtaattggaatggcaacactttaaatcctttatggagtatctaactgagggcaagtctgg 9738 652 tgccagcagccgcggtaattccagctccaatagcgtatatttaagttgttgcagttaaaa 711 | | | | 9737 tgccagcagccgcggtaattccagctcagttagcgtatatcaaagttgttgcggttaaaa 9678
20、712 agctcgtagttg 723 | 9677 agctcgtagttg 9666 Score = 129 bits (65), Expect = 3e-29 Identities = 137/161 (85%) 956 gacagtcgggggcattcgtatttcatagtcagaggtgaaattcttggatttatgaaagac 1015 | | | | | | | 9373 gacaggcgggggcattcgtattgctacgttagaggtgaaattcttggatcgtagcaagac 9314 1016 gaacaactgcgaaagcatttgccaaggat
21、gttttcattaatcaagaacgaaagttggggg 1075 | | | | | | | 9313 ggactgaagcgaaagcatttgccaaggatgttctcgttgatcaagaacgaaagtttgggg 9254 1076 ctcgaagacgatcagataccgtcctagtctcaaccataaac 1116 | | | | 9253 ctcgaaggcgatcagataccgccctagtccaaaccataaac 9213 Score = 123 bits (62), Expect = 2e-27 Identities = 86/94 (91%) 1658 aacgaggaattcctagtaagcgcgagtcatcagctcgcgttgactacgtccctgcccttt 1717 | | | | | | |
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1