http://qs321.pair.com?node_id=701479


in reply to XML SOAP Response

Try adding this at the end of your program.

my @vehicles; foreach (@{$data->{Vehicles}->{Vehicle}}) { my %vehicle; $vehicle{vin}=$_->{vin}; foreach(@{$_->{VehicleAttributes}->{VehicleAttribute}}) { $vehicle{$_->{type}}=$_->{value}; } push(@vehicles,\%vehicle); } print Dumper(\@vehicles);

Updated: corrected several errors, now it works. You have to replace the initialization of $xml with

my $xml = new XML::Simple( ForceArray => ["Vehicle"]);

to force the "Vehicle" tag in your XML to became an array in the generated tree.

Rule One: "Do not act incautiously when confronting a little bald wrinkly smiling man."