my @unique_ids = (23456, 23458); my $xml_source_key = XMLin($xml_file, forcearray => [ qw (thing foo bar bazs) ], keyattr =>[ 'unique_identifier' ]); foreach my $unique_id (@unique_ids) { foreach my $bar_loop ( @{$xml_source_key->{'things'}->{'thing'}->{$unique_id}->{'bars'}->{'bar'} } ) { $bar_number = $bar_loop->{'bar_number'}; $good_info = $bar_loop->{'good'}->{'good_info'}; # Do something with $bar_number, $good_info and a database } }