Super! this works. I have one question, what are those spaces in between when I print as below, e.g.
foreach my $acc (keys %hash){ if ($acc =~ /1a1.f1b/) { print "[EMAIL PROTECTED]"; } } produces following output: 1a1.f1b TAAATAGAGAGGTTCGACTCTGCATTTCCCAAATACGTAATGCTTACGGTACACGACCCA AGCTCTCTGCTTGAATCCCAAATCTGAGC GGACAGATGAGGGGGCGCAGAGGAAAAACAG GTTTTGGACCCTACA or as this 1a1.f1b TAAATAGAGAGGTTCGACTCTGCATTTCCCAAATACGTAATGCTTACGGTACACGACCCA AGCTCTCTGCTTGAATCCCAAATCTGAGCGGACAGATGAGGGGGCGCAGAGGAAAAACAG GTTTTGGACCCTACA Thanks, perdeep -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Thomas, Mark - BLS CTR Sent: Wednesday, August 11, 2004 4:27 PM Cc: [EMAIL PROTECTED] Subject: RE: [Perl-unix-users] reading records in a file > The problem I'm having is that it is skipping the next record > since inner loop read the next start line. I'm sure there > must be a better way. I will appreciate anyone suggesting a solution. Try this: my (%hash, $acc); while (my $line = <FH>) { chomp ($line); $acc = $1 and next if ($line =~ s/^>(\S+)//); push @{$hash{$acc}}, $line; } -- Mark Thomas [EMAIL PROTECTED] Internet Systems Architect DigitalNet, Inc. $_=q;KvtuyboopuifeyQQfeemyibdlfee;; y.e.s. ;y+B-x+A-w+s; ;y;y; ;;print;; _______________________________________________ Perl-Unix-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ Perl-Unix-Users mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs