[Comandob] perl Config::General y fichero por defecto

Arnau Bria arnau at emergetux.net
Thu Oct 6 14:48:27 CEST 2011


On Thu, 6 Oct 2011 13:16:57 +0200
Jose Luis Perez Diez wrote:

Hola!

> El Wednesday 28 September 2011 14:59:25 Arnau Bria va escriure:

el mail ha llegado hoy, verdad? porque lo mandé hace unos días...
 
> Por lo que he probado no puedes omitir el MergeDuplicateOptions 
> 
> > Alguien me echa una mano?
> 
> Yo lo que he conseguido que mas se parezca a lo que quieres es 
> $ cat conf.cust 
> Nombre "perico de los palotes"
> Domicilio " rue 13 del pecebe"
> Barrio nuevo
> $ cat conf.defaut 
> 
> Nombre "Pepe"
> Domicilio " desconocido aun"
> Mote "Tonton"
> $ perl -M'Config::General qw(ParseConfig)' -M'Data::Dumper::Simple'
> -e 'my %default= ParseConfig("conf.defaut"); print
> Dumper(%default);my $conf = new Config::General(-ConfigFile =>
> "conf.cust",-DefaultConfig => {ParseConfig("conf.defaut")},
> -MergeDuplicateOptions => 1);print Dumper({$conf->getall})'

Si, así lo acabé haciendo (bueno, no tan bonico que la distro no tenía
parseconfig y no quería utilizar CPAN).

y aprovechando tu respuesta.... hacer lo mismo pero cargar un "triple
hash" .... es decir, de un fichero tipo:

basic:

/=options,--fsoptions="defaults";fstype,ext3;size,1 --grow
swap=options,--fsoptions="defaults";fstype,swap;size,4096

a un hash:

 'basic' => {
              '/' => {
                       'options' => '--fsoptions="defaults"',
                       'fstype' => 'ext3',
                       'size' => '1 --grow'
                     },
              'swap' => {
                          'options' => '--fsoptions="defaults"',
                          'fstype' => 'swap',
                          'size' => '4096'
                        }
            },



conoces algún otro módulo que lo haga? (me he creado mi propia función
porque no encontré nada que lo hiciera).


muchas gracias por tu respuesta!
Arnau


More information about the Comandob mailing list