亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 求助:取最長轉錄本腳本 [打印本頁]

作者: yang7473453    時間: 2014-12-31 13:23
標題: 求助:取最長轉錄本腳本
現有一個fasta文件,里面是人類編碼區(qū)序列數據,內容如下兩圖


ENSG是基因編號,ENST是轉錄本編號,圖中可見同一個基因編號有兩個轉錄本,當然實際上可能一個基因編號可能有多個轉錄本,現需要一個基因編號只留最長的一條轉錄本,如何提?求perl腳本
作者: aku1    時間: 2014-12-31 14:36
能貼出部分實際內容嗎?
作者: yang7473453    時間: 2014-12-31 15:15
已經貼出來了呀!圖中可看到>后有兩個編號一個是ENSG的一個是ENST的,ENSG編號會有相同的,當ENSG編號相同時我們只取序列最長的那一條回復 2# aku1


   
作者: b114213903    時間: 2014-12-31 19:07
回復 3# yang7473453


    你給的圖片,怎么做腳本測試?

    給個示例文件,很困難么?
作者: yang7473453    時間: 2014-12-31 19:49
懂了,我貼一段上來,下面這些序列中有兩個基因,ENSG編號相同的我需要取最長的那條回復 4# b114213903
>ENSG00000104671|ENST00000522141
ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
AGTGAAATCAGAGGAGATGTAACTATCGTTACCCAGATAATATCACTCCTGACACTGAAG
ATCCAGAACCAAAACCTATGA
>ENSG00000104671|ENST00000520829
ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA
>ENSG00000104671|ENST00000523666
ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
CTTATCATAAATGCATTCCCAAGCCATGAAGATGGGAGATAA
>ENSG00000205339|ENST00000533233
ATGGACCCCAACACCATTATCGAGGCCCTGCGGGGCACTATGGACCCAGCCCTGCGTGAG
GCCGCGGAGCGCCAGCTCAATGAAACGGAGTTTCGCTCTTGTTGCCCAGACTGGAGTGCA
ATGGCACAATCTCGGCTCGCCACAACCTCCGCCTCCCGGATTCGGGCAATTCTCCTGCCT
CAGCCTCTTGAGTAG
>ENSG00000205339|ENST00000527431
ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
GATCGTTTTATCCAGCTTCTTTCTGACCAGTC

   
作者: b114213903    時間: 2014-12-31 23:54
回復 5# yang7473453
  1. #!/usr/bin/perl
  2. use Bio::SeqIO;
  3. use strict;

  4. ##需要提供序列文件##
  5. unless (@ARGV==1){
  6.         die "Usage:\t$0  seq_file_name\n";
  7. }

  8. ##讀取并比較序列長短##
  9. my $Fas=Bio::SeqIO->new(-file=>"$ARGV[0]",-format=>"fasta") or die "Open seq file failed! $!\n";
  10. my (%Length,%Seqs)=();
  11. while(my $seq=$Fas->next_seq()){
  12.         my $id=$seq->id();
  13.         my ($ensg,$enst)=split (/\|/,$id);
  14.         unless($Length{$ensg}){
  15.                 $Length{$ensg}=$seq->length();
  16.                 $Seqs{$ensg}=$seq;
  17.         }elsif($Length{$ensg} < $seq->length()){
  18.                 $Length{$ensg}=$seq->length();
  19.                 $Seqs{$ensg}=$seq;
  20.         }
  21. }
  22. $Fas->close();

  23. ##輸出比較結果##
  24. my $Out=Bio::SeqIO->new(-file=>">Out.fasta",-format=>"fasta") or die "Write to Out seq failed! $!\n";
  25. foreach my $key(sort keys %Seqs){
  26.         print "Now is:\t$key\n";
  27.         $Out->write_seq($Seqs{$key});
  28. }
  29. $Out->close();
  30. print "Finised!\n";
復制代碼
  1. >ENSG00000104671|ENST00000522141
  2. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  3. AGTGAAATCAGAGGAGATGTAACTATCGTTACCCAGATAATATCACTCCTGACACTGAAG
  4. ATCCAGAACCAAAACCTATGA
  5. >ENSG00000104671|ENST00000520829
  6. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  7. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  8. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  9. CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
  10. CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
  11. ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
  12. AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
  13. ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
  14. GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA
  15. >ENSG00000104671|ENST00000523666
  16. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  17. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  18. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  19. CTTATCATAAATGCATTCCCAAGCCATGAAGATGGGAGATAA
  20. >ENSG00000205339|ENST00000533233
  21. ATGGACCCCAACACCATTATCGAGGCCCTGCGGGGCACTATGGACCCAGCCCTGCGTGAG
  22. GCCGCGGAGCGCCAGCTCAATGAAACGGAGTTTCGCTCTTGTTGCCCAGACTGGAGTGCA
  23. ATGGCACAATCTCGGCTCGCCACAACCTCCGCCTCCCGGATTCGGGCAATTCTCCTGCCT
  24. CAGCCTCTTGAGTAG
  25. >ENSG00000205339|ENST00000527431
  26. ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
  27. ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
  28. CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
  29. CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
  30. GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
  31. AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
  32. GATCGTTTTATCCAGCTTCTTTCTGACCAGTC
復制代碼
  1. >ENSG00000104671|ENST00000520829
  2. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  3. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  4. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  5. CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
  6. CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
  7. ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
  8. AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
  9. ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
  10. GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA
  11. >ENSG00000205339|ENST00000527431
  12. ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
  13. ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
  14. CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
  15. CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
  16. GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
  17. AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
  18. GATCGTTTTATCCAGCTTCTTTCTGACCAGTC
復制代碼

作者: yang7473453    時間: 2015-01-01 11:11
非常感謝,寫的很好,很好用。回復 6# b114213903


   
作者: huang6894    時間: 2015-01-02 10:13
  1. #!/usr/bin/perl -w
  2. my(%h1, %h2);
  3. $/="\>";
  4. <DATA>;
  5. while(<DATA>){
  6.         chomp;
  7.         my($g_t, @fastq) = (split /\n/);
  8.         my($gene, $tran) = (split /\|/,$g_t);
  9.         push @{$h2{$tran}},@fastq;
  10.         $h1{$gene} ||= $tran ;
  11.         $h1{$gene} = $tran  if length(join("",@{$h2{$h1{$gene}}})) < length(join("",@fastq));       
  12. }
  13. $/="\n";
  14. foreach my $gene(keys %h1){
  15.         print ">$gene|$h1{$gene}\n";
  16.         print join("\n",@{$h2{$h1{$gene}}});
  17.         print $/;
  18. }
  19. __DATA__
  20. >ENSG00000104671|ENST00000522141
  21. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  22. AGTGAAATCAGAGGAGATGTAACTATCGTTACCCAGATAATATCACTCCTGACACTGAAG
  23. ATCCAGAACCAAAACCTATGA
  24. >ENSG00000104671|ENST00000520829
  25. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  26. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  27. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  28. CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
  29. CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
  30. ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
  31. AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
  32. ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
  33. GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA
  34. >ENSG00000104671|ENST00000523666
  35. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  36. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  37. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  38. CTTATCATAAATGCATTCCCAAGCCATGAAGATGGGAGATAA
  39. >ENSG00000205339|ENST00000533233
  40. ATGGACCCCAACACCATTATCGAGGCCCTGCGGGGCACTATGGACCCAGCCCTGCGTGAG
  41. GCCGCGGAGCGCCAGCTCAATGAAACGGAGTTTCGCTCTTGTTGCCCAGACTGGAGTGCA
  42. ATGGCACAATCTCGGCTCGCCACAACCTCCGCCTCCCGGATTCGGGCAATTCTCCTGCCT
  43. CAGCCTCTTGAGTAG
  44. >ENSG00000205339|ENST00000527431
  45. ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
  46. ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
  47. CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
  48. CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
  49. GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
  50. AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
  51. GATCGTTTTATCCAGCTTCTTTCTGACCAGTC
復制代碼

作者: 251744647    時間: 2015-01-03 18:28
#awk 'NR==1{substr($0,2)}1' urfile |awk 'BEGIN{FS="|";RS="\n>"}{if(a[$1]<length($2)){a[$1]=length($2);b[$1]=$2}}END{for(i in a)print">" i"|"b[i]}' |sed '/^$/d'
>ENSG00000205339|ENST00000527431
ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
GATCGTTTTATCCAGCTTCTTTCTGACCAGTC
>ENSG00000104671|ENST00000520829
ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA

作者: 清泉一邊    時間: 2015-01-11 22:05
一段時間沒寫了,感覺好多都忘了啊,試試吧~
  1. #!/usr/bin/perl  -w
  2. use strict;
  3. my $ref = {};
  4. $/ = ">";<DATA>;$/= "\n";
  5. while (<DATA>){
  6. if ($_ =~ /(\S+)\|(\S+)/){
  7. my $gene = $1;
  8. my $gi = $2;
  9. $/ = ">";
  10. my $seq = <DATA>;
  11. $seq =~ s/>$//;
  12. $ref->{$gene}->{$seq} = $gi;
  13. }
  14. $/ = "\n";
  15. }
  16. foreach my $gene (sort keys %$ref){
  17. my $max = 0;
  18. my $max_length = 0;
  19.   foreach my $seq (sort keys $ref->{$gene}){
  20.    if ($max_length < length $seq){
  21.     $max = $seq;
  22.     $max_length =length $seq;
  23.      }
  24.   }
  25.   print ">$gene|$ref->{$gene}->{$max}\n$max\n" if exists $ref->{$gene}->{$max};
  26. }

  27. __DATA__
  28. >ENSG00000104671|ENST00000522141
  29. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  30. AGTGAAATCAGAGGAGATGTAACTATCGTTACCCAGATAATATCACTCCTGACACTGAAG
  31. ATCCAGAACCAAAACCTATGA
  32. >ENSG00000104671|ENST00000520829
  33. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  34. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  35. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  36. CTTATCATAAATGCTTACCCAGATAATATCACTCCTGACACTGAAGATCCAGAACCAAAA
  37. CCTATGATCATTGGCACCAATAATGTGTTTGAAGTTGGCTGTTATTCCCAAGCCATGAAG
  38. ATGGGAGATAATAATGTCATTGAATCAAAAGCATATGTAGGCAGAAATGTAATATTGACA
  39. AGTGGCTGCATCATTGGGGCTTGTTGCAACCTAAATACATTTGAAGTCATCCCTGAGAAT
  40. ACGGTGATCTATGGTGCAGACTGCCTTCGTCGGGTGCAGACTGAGCGACCGCAGGTACTA
  41. GAACCTCTCTTTAAAAAGAGTTCTATCTGCTGA
  42. >ENSG00000104671|ENST00000523666
  43. ATGGCGGAGAAGACTCAAAAGAGTGTGAAGATTGCTCCTGGAGCAGTTGTATGTGTAGAA
  44. AGTGAAATCAGAGGAGATGTAACTATCGGACCTCGGACAGTGATCCACCCTAAAGCAAGA
  45. ATTATTGCGGAAGCCGGGCCAATAGTGATTGGCGAAGGGAACCTAATAGAAGAACAGGCC
  46. CTTATCATAAATGCATTCCCAAGCCATGAAGATGGGAGATAA
  47. >ENSG00000205339|ENST00000533233
  48. ATGGACCCCAACACCATTATCGAGGCCCTGCGGGGCACTATGGACCCAGCCCTGCGTGAG
  49. GCCGCGGAGCGCCAGCTCAATGAAACGGAGTTTCGCTCTTGTTGCCCAGACTGGAGTGCA
  50. ATGGCACAATCTCGGCTCGCCACAACCTCCGCCTCCCGGATTCGGGCAATTCTCCTGCCT
  51. CAGCCTCTTGAGTAG
  52. >ENSG00000205339|ENST00000527431
  53. ATGATAACACAGTATTGGCCTGATCGAGAAACAGCACCAGGGGATATATCCCCTTATACT
  54. ATTCCAGAAGAAGATCGCCATTGTATTCGAGAAAATATTGTAGAAGCCATTATCCATTCT
  55. CCTGAGCTCATCAGGGTACAGCTTACTACATGCATTCATCACATCATCAAACATGATTAT
  56. CCAAGCCGCTGGACTGCCATTGTGGACAAAATTGGCTTTTATCTTCAGTCCGATAACAGT
  57. GCTTGTTGGCTAGGAATTCTTCTTTGCCTTTATCAGCTTGTGAAAAATTATGAGTATAAA
  58. AAACCAGAGGAGCGGAGTCCATTGGTAGCAGCAATGCAGCATTTTCTGCCAGTTCTAAAG
  59. GATCGTTTTATCCAGCTTCTTTCTGACCAGTC
復制代碼
回復 1# yang7473453


   
作者: tiger4567    時間: 2015-01-15 13:40
崇拜回復 8# huang6894


   
作者: tiger4567    時間: 2015-01-15 13:54
回復 8# huang6894
  1. #!/usr/bin/perl -w
  2. open (DATA,"DATA.txt") or die $!;
  3. my(%h1, %h2);
  4. $/="\>";
  5. <DATA>;
  6. while(<DATA>){
  7.         chomp;
  8.         my($g_t, @fastq) = (split /\n/);
  9.         my($gene, $tran) = (split /\|/,$g_t);
  10.         push @{$h2{$tran}},@fastq;
  11.        $h1{$gene} ||= $tran ;
  12.         $h1{$gene} = $tran  if length(join("",@{$h2{$h1{$gene}}})) < length(join("",@fastq));        
  13. }
  14. $/="\n";
  15.      map{print ">$_|$h1{$_}\n". join("\n",@{$h2{$h1{$_}}}).$/;}(keys %h1);
復制代碼
可以這樣子。。。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2