Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Compare two files, nested while loops? Outer loop not iterating?

by monkey_boy (Curate)
on Nov 21, 2011 at 17:24 UTC ( #939269=note: print w/ replies, xml ) Need Help??


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


Comment on Re: Compare two files, nested while loops? Outer loop not iterating?
Download Code
Re^2: Compare two files, nested while loops? Outer loop not iterating?
by naturalsciences (Beadle) on Nov 21, 2011 at 17:50 UTC

    So in effect my original script would have a workflow like that > Iterate outer loop (QA lines)..first iteration.. along comes the inner loop (FA lines) > iterate wildly through it to the EOF, evaluating "if condition" if (hehe) it happens somewhere in the FA. Now should come the next iteration but FA is already read through, so no more lines from QA will ever be matched to anything.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://939269]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2014-09-19 04:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (129 votes), past polls