use ihb::List::Util qw/ zip group /; my %ns_records; @ns_records{@ns_list} = group(3, zip(\( @addr_list, @ptr_list, @uptime_list )));