Re: [Comandob] perl Config::General y fichero por defecto
El Thursday 06 October 2011 14:48:27 Arnau Bria va escriure: el mail ha llegado hoy, verdad? porque lo mandé hace unos días... Si por las cabezeras se quedo entrando y saliendo por 127.0.0.1 con algun retardo hasta ayer :( 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). Con esa sintaxts no me suena nada. General::Config puede generar hash de hashes (en el pod hay varios ejemplos) yo para estos casos me encunetro mas comdo con YAML o JSON si se edita de higos a brebas. -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] perl Config::General y fichero por defecto
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
Re: [Comandob] perl Config::General y fichero por defecto
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 -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob