#!/usr/bin/perl -w use strict; use Data::Dumper; my @ns_list = ( 'server1.foo-domain.net', 'server2.noo-domain.net', 'server3.zoo-domain.net', ); my @addr_list = ( '1.2.3.5', '11.22.33.55', '22.21.20.55', ); my @ptr_list = ( '5.3.2.1.in-addr.arpa', '55.33.22.11.in-addr.arpa', '55.20.21.22.in-addr.arpa', ); my @uptime_list = ( '131 days', '28 days', '366 days', ); my %ns_records = map { $_ => [ shift @addr_list, shift @ptr_list, shift @uptime_list ] } @ns_list; my $d; foreach my $k ( keys %ns_records ) { print "\n$k:"; for ( $d = 0; $d <= $#{$ns_records{$k}}; $d++ ) { print "\n ", @{$ns_records{$k}}->[$d]; } print $/; } print $/; __END__ print Dumper \%ns_records; $VAR1 = { 'ns0.foo-domain.com' => [ '1.2.3.5', '5.3.2.1.in-addr.arpa', '131 days' ], 'ns0.baz-domain.org' => [ '22.21.20.55', '55.20.21.22.in-addr.arpa', '366 days' ], 'ns0.bar-domain.net' => [ '11.22.33.55', '55.33.22.11.in-addr.arpa', '28 days' ] }; #### "Using an array as a reference is deprecated"