From 908c728bc47ab6c8f90398a44a48282f1d6b8fb6 Mon Sep 17 00:00:00 2001 From: Matteo Pasotti Date: Sun, 12 Jan 2014 00:24:32 +0100 Subject: - _getHosts subroutine fully implemented --- AdminPanel/Hosts/hosts.pm | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) (limited to 'AdminPanel/Hosts') diff --git a/AdminPanel/Hosts/hosts.pm b/AdminPanel/Hosts/hosts.pm index 7bcdf7e..c957ad4 100644 --- a/AdminPanel/Hosts/hosts.pm +++ b/AdminPanel/Hosts/hosts.pm @@ -3,10 +3,45 @@ package AdminPanel::Hosts::hosts; use Modern::Perl 2011; use autodie; use diagnostics; -# use Config::Hosts; +use local::lib; +use Config::Hosts; +use utf8; -use base qw(Exporter); -our @EXPORT = qw( - ); +# costants by Config::Hosts +my $is_ip = 1; +my $is_host = -1; +my $is_none = 0; + + +=pod + +=head2 _getHosts + +=head3 OUTPUT + + @result: array of hashes; each one of them represent a host definition from the hosts configuration file + + NOTE: the 'hosts' item into each hash is an array: it contains the hostname and -eventually- the aliases + +=head3 DESCRIPTION + +retrieve data from the hosts file (/etc/hosts) using the Config::Hosts module + +=cut + +sub _getHosts { + my $configHosts = Config::Hosts->new(); + my $hosts = $configHosts->read_hosts(); + my @result = (); + while( my ($key, $value) = each($hosts)){ + if($configHosts->determine_ip_or_host($key) == $is_ip){ + my $tmp = {}; + $tmp = $configHosts->query_host($key); + $tmp->{'ip'} = $key; + push @result,$tmp; + } + } + return @result; +} 1; -- cgit v1.2.1