diff options
author | Matteo Pasotti <matteo.pasotti@gmail.com> | 2014-01-12 00:24:32 +0100 |
---|---|---|
committer | Matteo Pasotti <matteo.pasotti@gmail.com> | 2014-01-12 00:24:32 +0100 |
commit | 908c728bc47ab6c8f90398a44a48282f1d6b8fb6 (patch) | |
tree | c5eb181384c57f42e75ac9d342e103c5930db444 | |
parent | 8aeade978e1759d57dac6b78b9eb05043ada302c (diff) | |
download | colin-keep-908c728bc47ab6c8f90398a44a48282f1d6b8fb6.tar colin-keep-908c728bc47ab6c8f90398a44a48282f1d6b8fb6.tar.gz colin-keep-908c728bc47ab6c8f90398a44a48282f1d6b8fb6.tar.bz2 colin-keep-908c728bc47ab6c8f90398a44a48282f1d6b8fb6.tar.xz colin-keep-908c728bc47ab6c8f90398a44a48282f1d6b8fb6.zip |
- _getHosts subroutine fully implemented
-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; |