my %Ho14Loc2GeNm; while(my $lines=){ my $cycID14; my $cycLoc14;my $cycNm14; next unless (($lines =~/^UNIQUE-ID/) || ($lines=~/^ACCESSION-1/)|| ($lines=~/^COMMON-NAME/)); chomp $lines; if ($lines =~ /^UNIQUE-ID/){ $lines=~/(GJDZ-[0-9]+)/; $cycID14=$1; } if ($lines =~ /^COMMON-NAME/){ $lines=~/COMMON-NAME - (\S+)/; $cycNm14=$1; } if ($lines =~ /^ACCESSION-1/){ $lines=~/(STM14_[0-9]+)/; $cycLoc14=$1; } if (defined($cycLoc14)){ $Ho14Loc2GeNm{$cycLoc14}=$cycNm14; } } print Dumper(%Ho14Loc2GeNm); close(IN);