Perl , Problème /

Perl , Problème / - Perl - Programmation

Marsh Posté le 20-02-2012 à 13:48:13    

Bonjour ,  
j'ai un problème avec les / dans une commande , j'aimerais savoir par quoi les remplacer svp ?
 
 
perl -e 'my @feature = (nano, nano/ace_cosim, nano/gui, nano/power
); foreach my $feat (@feature) { print "lmstat -c 12345\@toto -f $feat \n";
}'
 
 
Merci d'avance

Reply

Marsh Posté le 20-02-2012 à 13:48:13   

Reply

Marsh Posté le 20-02-2012 à 14:00:05    

C'est pas le / qui pose problème, mais le fait que l'on déclara pas des éléments de tableau textuel ainsi en Perl:
my @feature = ("nano", "nano/ace_cosim", "nano/gui", "nano/power" );
my @feature = ('nano', 'nano/ace_cosim', 'nano/gui', 'nano/power');
ou, plus adapté à ton cas
my @feature = qw(nano nano/ace_cosim nano/gui nano/power);
qw = quote word, et la liste est sans virgule.
On peut changer le séparateur si necessaire  
my @feature = qw{nano nano/ace_cosim nano/gui nano/power};
my @feature = qw!nano nano/ace_cosim nano/gui nano/power!;
etc
quand tu fais  
my @feature = (nano, nano/ace_cosim, nano/gui, nano/power);
L'interpréteur considère que nano et ace sont des noms de variables globales (car sans $ devant, c'est ce que ça doit être en perl), non initialisées, et il tente de faire la division de ces deux variables.
 
Ceci devrait donc passer:
perl -e 'my @feature = qw(nano nano/ace_cosim nano/gui nano/power  
); foreach my $feat (@feature) { print "lmstat -c 12345\@toto -f $feat \n";  
}'
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 20-02-2012 à 14:19:13    

Merci gilou pour ton message , ça marche :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed