use Module::Pluggable::Object ();
use English qw(-no_match_vars);
-our $VERSION = '0.07';
+our $VERSION = '0.08';
=head1 NAME
=head1 VERSION
-This document describes Config::Any version 0.0.7
+This document describes Config::Any version 0.0.8
=head1 SYNOPSIS
=head2 load_files( )
- Config::Any->load_files({files => \@files]});
+ Config::Any->load_files({files => \@files});
Config::Any->load_files({files => \@files, filter => \&filter});
Config::Any->load_files({files => \@files, use_ext => 1});
of a non-standard file extension while forcing it to be offered to a particular parser.
It is not compatible with 'use_ext'.
+You can supply a C<driver_args> hashref to pass special options to a particular
+parser object. Example:
+
+ Config::Any->load_files( { files => \@files, driver_args => {
+ General => { -LowerCaseNames => 1 }
+ } )
+
=cut
sub load_files {
}
my %load_args = map { $_ => defined $args->{$_} ? $args->{$_} : undef }
- qw(filter use_ext force_plugins);
+ qw(filter use_ext force_plugins driver_args);
$load_args{files} = [ grep { -f $_ } @{$args->{files}} ];
return $class->_load(\%load_args);
}
}
my %load_args = map { $_ => defined $args->{$_} ? $args->{$_} : undef }
- qw(filter use_ext force_plugins);
+ qw(filter use_ext force_plugins driver_args);
my $filenames = $class->_stems_to_files($args->{stems});
$load_args{files} = [ grep { -f $_ } @{$filenames} ];
last unless keys %files;
my %ext = _maphash $loader->extensions;
+ my ($loader_class) = $loader =~ /::([^:]+)$/;
+ my $driver_args = $args->{driver_args}{$loader_class} || {};
+
FILE:
for my $filename (keys %files) {
# use file extension to decide whether this loader should try this file
my $config;
eval {
- $config = $loader->load( $filename );
+ $config = $loader->load( $filename, $driver_args );
};
next if $EVAL_ERROR; # if it croaked or warned, we can't use it