Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

config::mvp::section(3pm) [debian man page]

Config::MVP::Section(3pm)				User Contributed Perl Documentation				 Config::MVP::Section(3pm)

NAME
Config::MVP::Section - one section of an MVP configuration sequence VERSION
version 2.200002 DESCRIPTION
For the most part, you can just consult Config::MVP to understand what this class is and how it's used. ATTRIBUTES
name This is the section's name. It's a string, and it must be provided. package This is the (Perl) package with which the section is associated. It is optional. When the section is instantiated, it will ensure that this package is loaded. multivalue_args This attribute is an arrayref of value names that should be considered multivalue properties in the section. When added to the section, they will always be wrapped in an arrayref, and they may be added to the section more than once. If this attribute is not given during construction, it will default to the result of calling section's package's "mvp_multivalue_args" method. If the section has no associated package or if the package doesn't provide that method, it default to an empty arrayref. aliases This attribute is a hashref of name remappings. For example, if it contains this hashref: { file => 'files', path => 'files', } Then attempting to set either the "file" or "path" setting for the section would actually set the "files" setting. If this attribute is not given during construction, it will default to the result of calling section's package's "mvp_aliases" method. If the section has no associated package or if the package doesn't provide that method, it default to an empty hashref. payload This is the storage into which properties are set. It is a hashref of names and values. You should probably not alter the contents of the payload, and should read its contents only. is_finalized This attribute is true if the section has been marked finalized, which will prevent any new values from being added to it. It can be set with the "finalize" method. sequence This attributes points to the sequence into which the section has been assembled. It may be unset if the section has been created but not yet placed in a sequence. METHODS
add_value $section->add_value( $name => $value ); This method sets the value for the named property to the given value. If the property is a multivalue property, the new value will be pushed onto the end of an arrayref that will store all values for that property. Attempting to add a value for a non-multivalue property whose value was already added will result in an exception. load_package $section->load_package($package, $plugin); This method is used to ensure that the given $package is loaded, and is called whenever a section with a package is created. By default, it delegates to Class::Load. If the package can't be found, it calls the missing_package method. Errors in compilation are not suppressed. missing_package $section->missing_package($package, $plugin); This method is called when "load_package" encounters a package that is not installed. By default, it throws an exception. AUTHOR
Ricardo Signes <rjbs@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-03-16 Config::MVP::Section(3pm)

Check Out this Related Man Page

Config::INI::Reader(3pm)				User Contributed Perl Documentation				  Config::INI::Reader(3pm)

NAME
Config::INI::Reader - a subclassable .ini-file parser VERSION
version 0.019 SYNOPSIS
If family.ini contains: admin = rjbs [rjbs] awesome = yes height = 5' 10" [mj] awesome = totally height = 23" Then when your program contains: my $hash = Config::INI::Reader->read_file('family.ini'); $hash will contain: { '_' => { admin => 'rjbs' }, rjbs => { awesome => 'yes', height => q{5' 10"}, }, mj => { awesome => 'totally', height => '23"', }, } DESCRIPTION
Config::INI::Reader is yet another config module implementing yet another slightly different take on the undeniably easy to read ".ini" file format. Its default behavior is quite similar to that of Config::Tiny, on which it is based. The chief difference is that Config::INI::Reader is designed to be subclassed to allow for side-effects and self-reconfiguration to occur during the course of reading its input. METHODS FOR READING CONFIG
These methods are all that most users will need: they read configuration from a source of input, then they return the data extracted from that input. There are three reader methods, "read_string", "read_file", and "read_handle". The first two are implemented in terms of the third. It iterates over lines in a file, calling methods on the reader when events occur. Those events are detailed below in the "METHODS FOR SUBCLASSING" section. All of the reader methods return an unblessed reference to a hash. All throw an exception when they encounter an error. read_file my $hash_ref = Config::INI::Reader->read_file($filename); Given a filename, this method returns a hashref of the contents of that file. read_string my $hash_ref = Config::INI::Reader->read_string($string); Given a string, this method returns a hashref of the contents of that string. read_handle my $hash_ref = Config::INI::Reader->read_handle($io_handle); Given an IO::Handle, this method returns a hashref of the contents of that handle. METHODS FOR SUBCLASSING
These are the methods you need to understand and possibly change when subclassing Config::INI::Reader to handle a different format of input. current_section my $section_name = $reader->current_section; This method returns the name of the current section. If no section has yet been set, it returns the result of calling the "starting_section" method. parse_section_header my $name = $reader->parse_section_header($line); Given a line of input, this method decides whether the line is a section-change declaration. If it is, it returns the name of the section to which to change. If the line is not a section-change, the method returns false. change_section $reader->change_section($section_name); This method is called whenever a section change occurs in the file. The default implementation is to change the current section into which data is being read and to initialize that section to an empty hashref. parse_value_assignment my ($name, $value) = $reader->parse_value_assignment($line); Given a line of input, this method decides whether the line is a property value assignment. If it is, it returns the name of the property and the value being assigned to it. If the line is not a property assignment, the method returns false. set_value $reader->set_value($name, $value); This method is called whenever an assignment occurs in the file. The default behavior is to change the value of the named property to the given value. starting_section my $section = Config::INI::Reader->starting_section; This method returns the name of the starting section. The default is: "_" can_ignore do_nothing if $reader->can_ignore($line) This method returns true if the given line of input is safe to ignore. The default implementation ignores lines that contain only whitespace or comments. preprocess_line $reader->preprocess_line($line); This method is called to preprocess each line after it's read but before it's parsed. The default implementation just strips inline comments. Alterations to the line are made in place. handle_unparsed_line $reader->handle_unparsed_line( $io, $line ); This method is called when the reader encounters a line that doesn't look like anything it recognizes. By default, it throws an exception. finalize $reader->finalize; This method is called when the reader has finished reading in every line of the file. new my $reader = Config::INI::Reader->new; This method returns a new reader. This generally does not need to be called by anything but the various "read_*" methods, which create a reader object only ephemerally. ORIGIN
Originaly derived from Config::Tiny, by Adam Kennedy. AUTHOR
Ricardo Signes <rjbs@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2007 by Ricardo Signes. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2011-12-15 Config::INI::Reader(3pm)
Man Page