El Wednesday 28 September 2011 14:59:25 Arnau Bria va escriure:
> Hola a todos,
> 
>...
> http://search.cpan.org/~tlinden/Config-General-2.50/General.pm
> 
> Ahora estoy leyendo el fichero y directamente me genera un hash donde
> tengo todos los valores que defino en mi fichero custom.
> 
> Para los defaults puedo utilizar -DefaultConfig y pasarle un hash con
> los valores por defecto, pero me preguntaba si podría pasar los valores
> por defecto directamente desde un fichero. Es decir:
>....
 > He encontrado una manera de hacerlo y es hacer un cat del fichero
> custom sobre el default y leerlo con  -MergeDuplicateOptions, así el
> valor que coge un avariable es el último que se de en el fichero....
> pero lo veo cutre...

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})'
%default = (
             'Domicilio' => ' desconocido aun',
             'Nombre' => 'Pepe',
             'Mote' => 'Tonton'
           );
${$conf->getall} = {
                     'Domicilio' => ' rue 13 del pecebe',
                     'Barrio' => 'nuevo',
                     'Mote' => 'Tonton',
                     'Nombre' => 'perico de los palotes'
                   };
$#sin -MergeDuplicateOptions
$ 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")});print Dumper({$conf->getall})'
%default = (
             'Domicilio' => ' desconocido aun',
             'Nombre' => 'Pepe',
             'Mote' => 'Tonton'
           );
${$conf->getall} = {
                     'Domicilio' => [
                                      ' desconocido aun',
                                      ' rue 13 del pecebe'
                                    ],
                     'Barrio' => 'nuevo',
                     'Mote' => 'Tonton',
                     'Nombre' => [
                                   'Pepe',
                                   'perico de los palotes'
                                 ]
                   };

--
_______________________________________________
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Responder a