#
# (c) Jan Gehring <jan.gehring@gmail.com>
# 
# vim: set ts=3 sw=3 tw=0:
# vim: set expandtab:

=head1 NAME

Rex::Group::Lookup::File - read hostnames from a file.

=head1 DESCRIPTION

With this module you can define hostgroups out of a file.

=head1 SYNOPSIS

 use Rex::Group::Lookup::File;
 group "webserver" => lookup_file("./hosts.lst");
 

=head1 EXPORTED FUNCTIONS

=over 4

=cut
   
package Rex::Group::Lookup::File;
   
use strict;
use warnings;

require Exporter;
use base qw(Exporter);
use vars qw(@EXPORT);
    
@EXPORT = qw(lookup_file);


=item lookup_file($file)

With this function you can read hostnames from a file. Every hostname in one line.

 group "webserver"  => lookup_file("./webserver.lst");
 group "mailserver" => lookup_file("./mailserver.lst");

=cut
sub lookup_file {
   my ($file) = @_;

   open(my $fh, "<", $file) or die($!);
   my @content = grep { !/^\s*$|^#/ } <$fh>;
   close($fh);

   chomp @content;

   return @content;
}

=back

=cut

1;
