J'ai ce script Perl avec de nombreuses constantes définies de fichiers de configuration. Par exemple:Comment puis-je réduire la duplication dans les constantes?
use constant {
LOG_DIR => "/var/log/",
LOG_FILENAME => "/var/log/file1.log",
LOG4PERL_CONF_FILE => "/etc/app1/log4perl.conf",
CONF_FILE1 => "/etc/app1/config1.xml",
CONF_FILE2 => "/etc/app1/config2.xml",
CONF_FILE3 => "/etc/app1/config3.xml",
CONF_FILE4 => "/etc/app1/config4.xml",
CONF_FILE5 => "/etc/app1/config5.xml",
};
Je veux réduire la duplication des "/ etc/app1" et "/ var/log", mais en utilisant des variables ne fonctionne pas. L'utilisation de constantes définies précédemment ne fonctionne pas dans le même "bloc constant d'utilisation". Par exemple:
use constant {
LOG_DIR => "/var/log/",
FILE_FILENAME => LOG_DIR . "file1.log"
};
ne fonctionne pas.
L'utilisation de blocs séparés « utilisation constante » ne contourner ce problème, mais cela ajoute beaucoup de code inutile.
Quelle est la bonne façon de faire cela?
Merci.
Merci pour la réponse, les noms de log ne sont pas vraiment numériques - je les ai juste changés comme ça pour l'exemple. –