use Data::Dumper; my $data = do {local $/;}; my $xml = XMLin($data); print Dumper $xml; #### use strict; use warnings; use XML::Simple; my $data = do {local $/;}; my $xml = XMLin($data); # ... and you use the correct syntax ;) print $xml->{gene}->{id}, "\n"; print $xml->{gene}->{label}, "\n"; __DATA__