appconfig methodes file() et args()
Bonjours,
je souhaite utiliser le module appconfig pour :
- lire dans un premier depuis la ligne de commande le nom d'un fichier de configuration que l'utilisateur y aura précisé
- et donc ensuite lire des parametres depuis ce fichier de configuration
- et enfin relire les parametres depuis la ligne de commande si l'utilisateur souhaitait y redéfinir (plus aisément que par le fichier) des parametres.
Un petit bout de code de coutume :
Code:
1 2 3 4 5
|
my $config = AppConfig->new("conf_file=s", "mydb=s", "ensembl_database=s", "ensembl_host=s", "refseq_db_file=s", "tigr_db_file=s", "chicken_db_dir=s", "transfac_site_table=s", "identif_file=s", "blat_file=s", "aln_length=s", "minimum_overlap=s", "promoter_upstream=s", "promoter_downstream=s", "set1=s", "set2=s", "min=s", "max=s", "help");
$config->args();
$config->file($config->conf_file);
$config->args(); |
Le problème : le deuxième appel de args() ne remet pas à jour les parametres. Il n'y a que lorsque j'en lève le premier appel à args() que le deuxième permet d'ecraser les anciens parametres du fichier.
exemple :
Code:
1 2 3 4 5
|
my $config = AppConfig->new("conf_file=s", "mydb=s", "ensembl_database=s", "ensembl_host=s", "refseq_db_file=s", "tigr_db_file=s", "chicken_db_dir=s", "transfac_site_table=s", "identif_file=s", "blat_file=s", "aln_length=s", "minimum_overlap=s", "promoter_upstream=s", "promoter_downstream=s", "set1=s", "set2=s", "min=s", "max=s", "help");
#########$config->args();
$config->file($config->conf_file);
$config->args(); |
Ca marche mais de cette facon je ne peux pas obtenir le nom du fichier de configuration de l'utilisateur voudrait pouvoir préciser.
J'espère avoir été compréhensible et vous souhaite bon appetit!
Yan