Bonjour,

j'ecris un script à déployer sur différentes distributions Linux et il y aura potentiellement les valeurs différentes pour la même constante.
Voici un aperçu du code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
use strict;
use warnings;
 
my $distrib = "debian";
 
if ($distrib == "debian") {
  use constant DIR => "/etc/apache2/";
}
elsif ($distrib == "RedHat") {
  use constant DIR => "/etc/httpd";
}
else {
 use constant DIR => "/etc/tomcat/";
}
 
print "DIR.\n";
(dans les faits, $distrib est affectée via un test).

quand je lance l'exécution du script, j'ai l'erreur suivante : "Constant subroutine main:IR redifined at /usr/lib/perl5/5.14/constant.pm line 136"
et le résultat affiché est "/etc/tomcat/" .

Mes questions :
- où est mon erreur?
- comment puis déclarer une constante en fonction d'un test?

Merci