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