-package Config::Any::INI;\r
-\r
-use strict;\r
-use warnings;\r
-\r
-our $MAP_SECTION_SPACE_TO_NESTED_KEY = 1;\r
-\r
-=head1 NAME\r
-\r
-Config::Any::INI - Load INI config files\r
-\r
-=head1 DESCRIPTION\r
-\r
-Loads INI files. Example:\r
-\r
- name=TestApp\r
- \r
- [Controller::Foo]\r
- foo=bar\r
- \r
- [Model::Baz]\r
- qux=xyzzy\r
-\r
-=head1 METHODS\r
-\r
-=head2 extensions( )\r
-\r
-return an array of valid extensions (C<ini>).\r
-\r
-=cut\r
-\r
-sub extensions {\r
- return qw( ini );\r
-}\r
-\r
-=head2 load( $file )\r
-\r
-Attempts to load C<$file> as an INI file.\r
-\r
-=cut\r
-\r
-sub load {\r
- my $class = shift;\r
- my $file = shift;\r
-\r
- require Config::Tiny;\r
- my $config = Config::Tiny->read( $file );\r
-\r
- my $main = delete $config->{ _ };\r
- my $out;\r
- $out->{$_} = $main->{$_} for keys %$main;\r
-\r
- for my $k (keys %$config) {\r
- my @keys = split /\s+/, $k if $MAP_SECTION_SPACE_TO_NESTED_KEY;\r
- my $ref = $config->{$k};\r
-\r
- if (@keys > 1) {\r
- my ($a, $b) = @keys[0,1];\r
- $out->{$a}->{$b} = $ref;\r
- } else {\r
- $out->{$k} = $ref;\r
- }\r
- }\r
- return $out;\r
-}\r
-\r
-=head1 PACKAGE VARIABLES\r
-\r
-=over 4\r
-\r
-=item $MAP_SECTION_SPACE_TO_NESTED_KEY (boolean)\r
-\r
-This variable controls whether spaces in INI section headings will be expanded into nested hash keys.\r
-e.g. it controls whether [Full Power] maps to $config->{'Full Power'} or $config->{'Full'}->{'Power'}\r
-\r
-By default it is set to 1 (i.e. true). \r
-\r
-Set it to 0 to preserve literal spaces in section headings:\r
-\r
- use Config::Any;\r
- use Config::Any::INI;\r
- $Config::Any::INI::MAP_SECTION_SPACE_TO_NESTED_KEY = 0;\r
-\r
-=back\r
-\r
-=head1 AUTHOR\r
-\r
-=over 4 \r
-\r
-=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>\r
-\r
-=item * Joel Bernstein E<lt>rataxis@cpan.orgE<gt>\r
-\r
-=back\r
-\r
-=head1 COPYRIGHT AND LICENSE\r
-\r
-Copyright 2006 by Brian Cassidy, portions copyright 2006, 2007 by Joel Bernstein\r
-\r
-This library is free software; you can redistribute it and/or modify\r
-it under the same terms as Perl itself. \r
-\r
-=head1 SEE ALSO\r
-\r
-=over 4 \r
-\r
-=item * L<Catalyst>\r
-\r
-=item * L<Config::Any>\r
-\r
-=item * L<Config::Tiny>\r
-\r
-=back\r
-\r
-=cut\r
-\r
-1;\r
+package Config::Any::INI;
+
+use strict;
+use warnings;
+
+our $MAP_SECTION_SPACE_TO_NESTED_KEY = 1;
+
+=head1 NAME
+
+Config::Any::INI - Load INI config files
+
+=head1 DESCRIPTION
+
+Loads INI files. Example:
+
+ name=TestApp
+
+ [Controller::Foo]
+ foo=bar
+
+ [Model::Baz]
+ qux=xyzzy
+
+=head1 METHODS
+
+=head2 extensions( )
+
+return an array of valid extensions (C<ini>).
+
+=cut
+
+sub extensions {
+ return qw( ini );
+}
+
+=head2 load( $file )
+
+Attempts to load C<$file> as an INI file.
+
+=cut
+
+sub load {
+ my $class = shift;
+ my $file = shift;
+
+ require Config::Tiny;
+ my $config = Config::Tiny->read( $file );
+
+ my $main = delete $config->{ _ };
+ my $out;
+ $out->{$_} = $main->{$_} for keys %$main;
+
+ for my $k (keys %$config) {
+ my @keys = split /\s+/, $k if $MAP_SECTION_SPACE_TO_NESTED_KEY;
+ my $ref = $config->{$k};
+
+ if (@keys > 1) {
+ my ($a, $b) = @keys[0,1];
+ $out->{$a}->{$b} = $ref;
+ } else {
+ $out->{$k} = $ref;
+ }
+ }
+ return $out;
+}
+
+=head1 PACKAGE VARIABLES
+
+=over 4
+
+=item $MAP_SECTION_SPACE_TO_NESTED_KEY (boolean)
+
+This variable controls whether spaces in INI section headings will be expanded into nested hash keys.
+e.g. it controls whether [Full Power] maps to $config->{'Full Power'} or $config->{'Full'}->{'Power'}
+
+By default it is set to 1 (i.e. true).
+
+Set it to 0 to preserve literal spaces in section headings:
+
+ use Config::Any;
+ use Config::Any::INI;
+ $Config::Any::INI::MAP_SECTION_SPACE_TO_NESTED_KEY = 0;
+
+=back
+
+=head1 AUTHOR
+
+=over 4
+
+=item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>
+
+=item * Joel Bernstein E<lt>rataxis@cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright 2006 by Brian Cassidy, portions copyright 2006, 2007 by Joel Bernstein
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item * L<Catalyst>
+
+=item * L<Config::Any>
+
+=item * L<Config::Tiny>
+
+=back
+
+=cut
+
+1;