|
Charger un tableau associatif depuis un fichier en Perl
le 25 juin 2010
Vous faites des scripts Perl, et vous trouvez pratique l’organisation des tableaux associatifs (%hash) pour gérer de la configuration ?
Voici un moyen simple et rapide de gérer cette configuration dans un fichier externe, sans avoir à indiquer le nom de votre tableau associatif dans ce fichier.
Créez votre fichier de configuration en respectant la syntaxe Perl, par exemple :
02 | servers => [ 'server1' , 'server2' ], |
07 | servers => [ 'server3' , 'server4' ], |
Dans votre script Perl, chargez ce fichier de configuration de la manière suivante:
1 | my $config = 'test.conf' ; |
4 | eval '%CONFIG = ( ' . `cat $config ` . ')' ; |
5 | die "Error while loading configuration file: $@n" if $@; |
Vous pouvez alors utiliser les éléments de configuration en utilisant:
02 | print $CONFIG { 'service1' }{ 'protocol' } . "n" ; |
05 | print @{ $CONFIG { 'service2' }{ 'servers' }}[1] . "n" ; |
08 | foreach my $service ( sort keys %CONFIG ) { |
09 | print $CONFIG { $service }{ 'protocol' } . ":" . $CONFIG { $service }{ 'tcp_port' } . "n" ; |
10 | foreach my $server (@{ $CONFIG { $service }{ 'servers' }}) { |
|
|