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

Reply via email to