use XML::Simple; $data = XMLin( \*DATA, KeepRoot => 1 ); @attrs = map { keys %{ $_->{attributes}{attribute} } } values %{ $data->{dataschemas}{dataschema} }; print "@attrs"; __DATA__ 1 2 3 4