Bonjour à tous,
Je souhaite lancer un executable avec pour parametre une variable Tab[0] sous perl sous unix.
Je dois utiliser la fonction system (system ($commande). Mais le problème est que $commande= entre guillements pour etre lu par
par system($commande). Si je met entre quote, il execute bien la commande .exe mais le parametre upr=Tab[0] ne s'affiche pas. Donc la commande échoue. Si je laisse entre guillements, la commande s'affiche bien mais il n'y apa de resultat.
Voici le code :
Soit on met $commande entre quote et la commande s'affiche en erreur.
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
18
19 ! /usr/bin/perl $File = 'upr.txt'; open(ListMap, $File) or die "Can't open ListMap :$!"; @Lignes = <ListMap>; foreach $Lignes (@Lignes){ @Tab = split(/;/,$Lignes); print $Tab[0]; print $Tab[1]; print $Tab[0]; $command01='$UXEXE/uxlst upr upr=$Tab[0] upr=$Tab[1]'; print $command01; system ($command01); } close(ListMap);
Soit on met $commande entre guillemet et le parametre affiche upr=Tab[0].
Merc de me répondre vite.
Fred.
Balises [ code ] et [ code ] ajoutées par 2Eurocents
Partager