次のようなファイルを含むディレクトリを開いています。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
ありがとう