Config-INI
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Config/INI/Reader.pm view on Meta::CPAN
}
#pod =head2 preprocess_line
#pod
#pod $reader->preprocess_line(\$line);
#pod
#pod This method is called to preprocess each line after it's read but before it's
#pod parsed. The default implementation just strips inline comments. Alterations
#pod to the line are made in place.
#pod
#pod =cut
sub preprocess_line {
my ($self, $line) = @_;
# Remove inline comments
${$line} =~ s/\s+;.*$//g;
}
#pod =head2 handle_unparsed_line
#pod
#pod $reader->handle_unparsed_line( $line, $handle );
#pod
#pod This method is called when the reader encounters a line that doesn't look like
#pod anything it recognizes. By default, it throws an exception.
#pod
#pod =cut
sub handle_unparsed_line {
my ($self, $line, $handle) = @_;
my $lineno = $handle->input_line_number;
Carp::croak "Syntax error at line $lineno: '$line'";
}
#pod =head2 finalize
#pod
#pod $reader->finalize;
#pod
#pod This method is called when the reader has finished reading in every line of the
#pod file.
#pod
#pod =cut
sub finalize { }
#pod =head2 new
#pod
#pod my $reader = Config::INI::Reader->new;
#pod
#pod This method returns a new reader. This generally does not need to be called by
#pod anything but the various C<read_*> methods, which create a reader object only
#pod ephemerally.
#pod
#pod =cut
sub new {
my ($class) = @_;
my $self = { data => {}, };
bless $self => $class;
}
#pod =head1 ORIGIN
#pod
#pod Originaly derived from L<Config::Tiny>, by Adam Kennedy.
#pod
#pod =cut
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Config::INI::Reader - a subclassable .ini-file parser
=head1 VERSION
version 0.029
=head1 SYNOPSIS
If F<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');
C<$hash> will contain:
{
'_' => { admin => 'rjbs' },
rjbs => {
awesome => 'yes',
height => q{5' 10"},
},
mj => {
awesome => 'totally',
height => '23"',
},
}
=head1 DESCRIPTION
Config::INI::Reader is I<yet another> config module implementing I<yet another>
slightly different take on the undeniably easy to read L<".ini" file
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.924 second using v1.00-cache-2.02-grep-82fe00e-cpan-1925d2aa809 )