http://qs321.pair.com?node_id=939269


in reply to Compare two files, nested while loops? Outer loop not iterating?

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...