I have a below program and I am not doing it right. Currently, only last ip pool is going in since I am putting them w/ key to values(so only last one shows up when I print).
How can I aggregate and assign them to server_1 so that when I print below will show up? server_1 10.1.1.1 10.1.1.2 10.1.1.3 10.1.1.4 10.1.1.5 192.168.1.1 192.168.1.2 while ( <DATA> ) { my @array_ip; chomp; my ($swit,$server,$ip_range) = split; my ($b_real_ip,$b_ip, $e_ip) = $ip_range =~ m#(\d+\.\d+\.\d+\.)(\d+)\-(\d+)#; my $b_ip_copy = $b_ip; my @ip_g; while ( $b_ip_copy <= $e_ip ) { my $b_ip_final = join('',$b_real_ip,$b_ip_copy); push @ip_g , $b_ip_final; ++$b_ip_copy; } $HoA{ join('_',$swit,$server) } = \@ip_g; } __DATA__ server 1 10.1.1.1-10.1.1.5 server 2 192.168.1.1-192.168.1.5 server 1 192.168.1.1-192.168.1.2