You are actually not looping over the inner file, as on the 1st iteration you read to the end of the file and dont reset to the begining, try adding a seek, something like:
#!/usr/bin/perl -w
use strict;
use warnings;
my $num_args = $#ARGV + 1;
if ($num_args != 3) {
print "\nUsage: ./fastqkokku fasta quala outputfile\n";
exit;
}
my $fasta=$ARGV[0];
my $quala=$ARGV[1];
my $out=$ARGV[2];
open FA, "< $fasta"or die "Can't open $fasta: $!";
open QA, "< $quala" or die "Can't open $quala: $!";
open OUT,"> $out" or die "Can't open $out: $!";
while (my $line = <QA>){
chomp $line;
my $nextline = <QA>;
while (my $compline = <FA>)
{
if ($compline =~ m/$line/)
{
print OUT "$compline$nextline";
}
}
seek(FA,0,0);
}
close FA;
close QA;
close OUT;
This is not a Signature...