App-Netsync
view release on metacpan or search on metacpan
lib/App/Netsync/Configurator.pm view on Meta::CPAN
100101102103104105106107108109110111112113114115116117118119120sub
configurate {
warn
'too many arguments'
if
@_
> 3;
my
(
$file
,
$overrides
,
$defaults
) =
@_
;
$file
//=
'/etc/'
.
$SCRIPT
.
'/'
.
$SCRIPT
.
'.ini'
;
$overrides
//= {};
$defaults
//= {};
{
open
(
my
$ini
,
'<'
,
$file
);
my
$parser
= Config::Simple->new(
$file
);
my
$syntax
=
$parser
->guess_syntax(
$ini
);
unless
(
defined
$syntax
and
$syntax
eq
'ini'
) {
say
'The configuration file "'
.
$file
.
'" is malformed.'
;
return
undef
;
}
close
$ini
;
}
$config
{
$_
} =
$defaults
->{
$_
}
foreach
keys
%$defaults
;
{
( run in 0.574 second using v1.01-cache-2.11-cpan-e5176c747c2 )