At 22:33 +0000 28/02/2011, Rob Dixon wrote:

The complete program is below.

HTH,

Rob

use strict;
use warnings;

my %HoA;

while ( <DATA> ) {

  my ($swit, $server, $ip_range) = split;

my ($b_real_ip, $b_ip, $e_ip) = $ip_range =~ /(\d+\.\d+\.\d+\.)(\d+)-\1(\d+)/;

  for my $byte ($b_ip .. $e_ip) {
    push @{$HoA{$swit.'_'.$server}}, $b_real_ip.$byte;
  }
}

__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

and then:


for(sort keys %HoA){
  print "$_\n";
  for (@{$HoA{$_}}){
    print "$_\n";
  }
}

#JD

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to