Scroll to navigation

Config::MySQL::Reader(3) User Contributed Perl Documentation Config::MySQL::Reader(3)

NAME

Config::MySQL::Reader - Read MySQL-style configuration files

VERSION

Version 0.01

SYNOPSIS

If my.cnf contains

    [mysqld]
    datadir=/var/lib/mysql
    skip-locking
    [mysqldump]
    quick
    max_allowed_packet = 16M
    !include /etc/my_other.cnf
    !include /etc/my_extra.cnf

Then when your program contains

    my $config = Config::MySQL::Reader->read_file('my.cnf');

$config will contain

    {
        '_' => {
            '!include' => [
                '/etc/my_other.cnf',
                '/etc/my_extra.cnf',
            ],
        },
        'mysqld' => {
            'datadir'      => '/var/lib/mysql',
            'skip-locking' => undef,
        },
        'mysqldump' => {
            'quick'              => undef,
            'max_allowed_packet' => '16M',
        },
    }

DECSRIPTION

This module extends Config::INI::Reader to support reading MySQL-style configuration files. Although deceptively similar to standard ".INI" files, they can include bare boolean options with no value assignment and additional features like "!include" and "!includedir".

"Config::MySQL::Reader" does not read files included by the "!include" and "!includedir" directives, but does preserve the directives so that you can safely read, modify, and re-write configuration files without losing them. If you need to read the contents of included files, you may want to look at Config::Extend::MySQL which handles this automatically (but does not handle roundtripping).

METHODS FOR READING CONFIG

read_file, read_string, and read_handle

See "METHODS FOR READING CONFIG" in Config::INI::Reader for usage details.

OVERRIDDEN METHODS

parse_value_assignment

Copes with MySQL-style boolean properties that have no value assignment.

can_ignore

Handle "!include" and "!includedir" directives. Comments can start with hash too.

preprocess_line

Strip inline comments (starting with ; or #)

SEE ALSO

AUTHOR

Iain Arnell, "<iarnell at gmail.com>"

BUGS

Please report any bugs or feature requests to "bug-config-ini-mysql at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Config-MySQL>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Config::MySQL::Reader

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Ricardo Signes for Config-INI.

COPYRIGHT & LICENSE

Copyright 2010 Iain Arnell.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.

2017-10-03 perl v5.40.0