my $data = $xml->XMLin("data.xml", KeyAttr => [], ForceArray => 1); my @todos = (); push @todos, { data => $_ } for @{$data->{data}}; while (@todos) { ... delete ($todo->{data}); ... } print Dumper $data;