in reply to Configuration File
#! /usr/bin/perl use strict; use Data::Dumper; my (%routers); #Load Router list while(<DATA>){ last if( m/##GROUPS/ ); chomp; my($name, $ip) = (split(/ /, $_))[1,3]; $routers{$name} = $ip; } my $group = 'group2'; #Get group to load here my (%loaded_routers); #Load requested group while(<DATA>){ chomp; s/ //g; #Clear spaces my($groupname, $data) = split(/=/, $_); if($groupname eq $group){ foreach my $n(split(/\,/,$data)){ $loaded_routers{$n} = $routers{$n}; } last; } } print Dumper \%loaded_routers; __DATA__ router router1 = 192.168.1.2 router router2 = 192.168.1.3 router router3 = 192.168.1.4 router router4 = 192.168.1.5 router router5 = 192.168.1.6 ##GROUPS group1 = router1,router5 group2 = router1, router2, router3 group3 = router2, router3, router4
$VAR1 = { 'router1' => '192.168.1.2', 'router3' => '192.168.1.4', 'router2' => '192.168.1.3' };
|
|---|