my (@fw, @vrf, @vlan, @portchannel); @fw = &collectData('fw', $CFG{$CFG{FW}}); @vrf = &collectData('vrf', $CFG{$CFG{VRF}}); @vlan = &collectData('vlan', $CFG{$CFG{VLAN}}); @portchannel = &collectData('portchannel', $CFG{$CFG{PORTCHANNEL}}); #### sub collectData { my $str = shift; my $type = shift; my @array; my $content = &slurpFile($type); if ($CFG{READFILE} eq $CFG{ERROR}){ print $CFG{ERROR_OPEN} = s/--file--/$type/ ,"\n"; return; } $str =~ /^fw/ ? { @array = NT::FW->extract($content, %CFG) } : $str =~ /^vrf/ ? { @array = NT::VRF->extract($content, %CFG) } : $str =~ /^vlan/ ? { @array = NT::VLAN->extract($content, %CFG) } : $str =~ /^portchannel/ ? { @array = NT::PORTCHANNEL->extract($content, %CFG) } : return; return @array; }