1 package Config::Any::INI;
6 our $MAP_SECTION_SPACE_TO_NESTED_KEY = 1;
10 Config::Any::INI - Load INI config files
14 Loads INI files. Example:
28 return an array of valid extensions (C<ini>).
38 Attempts to load C<$file> as an INI file.
47 my $config = Config::Tiny->read( $file );
49 my $main = delete $config->{ _ };
51 $out->{ $_ } = $main->{ $_ } for keys %$main;
53 for my $k ( keys %$config ) {
54 my @keys = split /\s+/, $k if $MAP_SECTION_SPACE_TO_NESTED_KEY;
55 my $ref = $config->{ $k };
58 my ( $a, $b ) = @keys[ 0, 1 ];
59 $out->{ $a }->{ $b } = $ref;
68 =head1 PACKAGE VARIABLES
72 =item $MAP_SECTION_SPACE_TO_NESTED_KEY (boolean)
74 This variable controls whether spaces in INI section headings will be expanded into nested hash keys.
75 e.g. it controls whether [Full Power] maps to $config->{'Full Power'} or $config->{'Full'}->{'Power'}
77 By default it is set to 1 (i.e. true).
79 Set it to 0 to preserve literal spaces in section headings:
83 $Config::Any::INI::MAP_SECTION_SPACE_TO_NESTED_KEY = 0;
91 =item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>
93 =item * Joel Bernstein E<lt>rataxis@cpan.orgE<gt>
97 =head1 COPYRIGHT AND LICENSE
99 Copyright 2006 by Brian Cassidy, portions copyright 2006, 2007 by Joel Bernstein
101 This library is free software; you can redistribute it and/or modify
102 it under the same terms as Perl itself.
110 =item * L<Config::Any>
112 =item * L<Config::Tiny>