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:
This is not a Signature...
#!/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...
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Compare two files, nested while loops? Outer loop not iterating?
by naturalsciences (Beadle) on Nov 21, 2011 at 17:50 UTC |
In Section
Seekers of Perl Wisdom