diff options
Diffstat (limited to 'AdminPanel/Hosts/hosts.pm')
-rw-r--r-- | AdminPanel/Hosts/hosts.pm | 43 |
1 files changed, 39 insertions, 4 deletions
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; |