X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FConfig-Any.git;a=blobdiff_plain;f=lib%2FConfig%2FAny%2FINI.pm;h=a091ba953bb8abcd7cc408dd59e2ac6dd1d17a2e;hp=092362dec3881d31221d5fd1408fe90e3e5a009a;hb=e967a60fa6fb5adeb6ead013b0b60289b2a92e2e;hpb=59a8045203653a6f6cbccc3c24eb3884fba40ddc diff --git a/lib/Config/Any/INI.pm b/lib/Config/Any/INI.pm index 092362d..a091ba9 100644 --- a/lib/Config/Any/INI.pm +++ b/lib/Config/Any/INI.pm @@ -43,11 +43,23 @@ sub load { require Config::Tiny; my $config = Config::Tiny->read( $file ); - my $main = delete $config->{ _ }; - - $config->{ $_ } = $main->{ $_ } for keys %$main; - return $config; + my $main = delete $config->{ _ }; + my $out; + $out->{$_} = $main->{$_} for keys %$main; + + for my $k (keys %$config) { + my @keys = split /\s+/, $k; + my $ref = $config->{$k}; + + if (@keys > 1) { + my ($a, $b) = @keys[0,1]; + $out->{$a}->{$b} = $ref; + } else { + $out->{$k} = $ref; + } + } + return $out; } =head1 AUTHOR @@ -56,6 +68,8 @@ sub load { =item * Brian Cassidy Ebricas@cpan.orgE +=item * Joel Bernstein Erataxis@cpan.orgE + =back =head1 COPYRIGHT AND LICENSE @@ -79,4 +93,4 @@ it under the same terms as Perl itself. =cut -1; \ No newline at end of file +1;