0

次のようなファイルを含むディレクトリを開いています。1 つのファイルを次に示します。

    >UVWXY
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    >STUVW
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    >QRSTU
    ABCDEFGHIJKLMNOPQRSTUVWXYZ 

2 番目のファイルは次のとおりです。

   >EFGHI
   ABCDEFGHIJKLMNOPQRSTUVWXYZ 

これが私のコードです:

   #!/usr/bin/perl
   use warnings;
   use strict;

   my ($directory) = @ARGV;
   my $dir = "$directory";
   my @ArrayofFiles = glob "$dir/*";

   open(OUT, ">", "/path/to/output.txt") or die $!;

   foreach my $file(@ArrayofFiles){
          open(my $fastas, $file) or die $!;
          my $numberoffastas = grep{/>/}<$fastas>;
          #print $numberoffastas, "\n"; 
          while (my $line = <$fastas>){
                 print $line, "\n";
          }
    }

$line には何も出力されませんが、このコードは、$numberoffastas を出力することで証明されるように、ファイルを開いたときにファイルに表示される ">" の数を正しくカウントします。
$line = 次のようにこのコードを修正するにはどうすればよいですか。

     >EFGHI 

また

    ABCDEFGHIJKLMNOPQRSTUVWXYZ  

ありがとう

4

1 に答える 1