/usr/local/CPAN/xmlwww/WWWXML/Config.pm
package WWWXML::Config;
use strict;
use base 'Exporter';
use Config::General qw(ParseConfig);
use File::Spec::Functions qw(catfile splitdir);
use Getopt::Long;
our $action_handlers = {
login => '+Login',
logout => 'Login',
register => '+Profile',
home => 'Profile',
cards => 'Profile',
numbers => 'Profile',
pay => 'Transfer',
pay2 => 'Transfer',
history => 'Transfer',
};
sub new {
my ($class, $file, $cmdline_prefix, $cmdline) = @_;
my %cmdlineargs;
if($cmdline) {
Getopt::Long::GetOptions(\%cmdlineargs, @$cmdline);
for ( grep { /-/ } keys %cmdlineargs ) { my $val = delete $cmdlineargs{$_}; tr/-/_/; $cmdlineargs{$_} = $val; }
}
$cmdline_prefix .= "_" if defined $cmdline_prefix;
my $CONFIG = {
ParseConfig(
-ConfigFile => $file,
-DefaultConfig => { },
-InterPolateVars => 1,
),
(map { $cmdline_prefix.$_ => $cmdlineargs{$_} } keys %cmdlineargs),
};
return bless $CONFIG, $class;
}
1;