print $xml->{gene_seq}{$id}{'startpos'}, "\n"; #### #!/usr/bin/perl -w use strict; use warnings; use XML::Simple; use Data::Dumper; my $data = do {local $/;}; my $xml = new XML::Simple(keeproot => 1);# this is what you want my $xml = XMLin($data); print Dumper($xml), "\n\n"; for my $id (1,2) { print $xml->{gene_seq}{$id}{'startpos'}, "\n"; } __DATA__