Scroll to navigation

Hostfile::Manager(3pm) User Contributed Perl Documentation Hostfile::Manager(3pm)

NAME

Hostfile::Manager - Manage a hostfile by composing multiple fragments into a whole.

SYNOPSIS

        use Hostfile::Manager;

        $manager = Hostfile::Manager->new;
        $manager->enable_fragment($fragment_name);
        $manager->write_hostfile;

ACCESSORS

Str path_prefix( [Str $prefix] )
Defines the prefix that will be searched for hostfile fragments. Defaults to '/etc/hostfiles/'.
Str hostfile_path( [Str $path] )
Defines the path to the hostfile to manage. Defaults to '/etc/hosts'.
Str hostfile
The contents of the hostfile under management.
HashRef fragments
The available hostfile fragments.
Array fragment_list
A list of the names of available fragments.
Str get_fragment( Str $fragment_name )
The contents of an individual hostfile fragment.

METHODS

Hostfile::Manager->new( [\%options] )
Create a new manager instance. Available options are path_prefix and hostfile_path, listed in the ACCESSORS section.
Bool write_hostfile
Write the contents of the hostfile to disk.
Bool fragment_enabled( Str $fragment_name )
Test whether a named fragment is enabled in the hostfile under management.
enable_fragment( Str $fragment_name )
Enable a named fragment. If the fragment is currently enabled, it will be disabled first, removing any modifications that may have been made out-of-band.
disable_fragment( Str $fragment_name )
Disable a named fragment.
toggle_fragment( Str $fragment_name )
Enable a fragment if it is disabled, disable it otherwise.
Str fragment_status_flag( Str $fragment_name )
Returns a string indicating the current status of a named fragment.
"+"
The named fragment is enabled.
"*"
The named fragment is enabled and has been modified in the sourced hostfile.
" "
The named fragment is not enabled.

LICENSE

Copyright (c) 2010-11,2018 Anthony J. Mirabella. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Anthony J. Mirabella <mirabeaj AT gmail DOT com>
2018-12-21 perl v5.28.1