Tengo este script Perl con muchas constantes definidas de archivos de configuración. Por ejemplo:¿Cómo puedo reducir la duplicación en 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",
};
Quiero reducir la duplicación de "/ etc/app1" y "/ var/log", pero utilizando las variables no funciona. También el uso de constantes previamente definidas no funciona en el mismo "uso constante de bloqueo". Por ejemplo:
use constant {
LOG_DIR => "/var/log/",
FILE_FILENAME => LOG_DIR . "file1.log"
};
no funciona.
El uso de bloques de "uso constante" separados soluciona este problema, pero eso agrega una gran cantidad de código innecesario.
¿Cuál es la forma correcta de hacerlo?
Gracias.
Gracias por la respuesta, el nombre de registro no es realmente numérico, simplemente los cambié de esa manera para el ejemplo. –