Commande system: Insecure dependency in system while running with -T
Bonjour,
j'essaie de me mettre à Perl, mais plus ça va, plus ce langage me rend dingue... Bon faut dire que la prog n'est pas mon truc préférée non plus :)
Bref, j'essaie de faire un petit programme tout con, qui fait une requête vers une base de donnée, récupère des ID et les passe en argument d'un executable d'un autre logiciel.
Voila mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#!/usr/bin/perl
#use strict;
use warnings;
use lib '/exploit/OV/share/bin';
use AF_OV;
my $request=<<END;
SELECT DISTINCT OPC_ACT_MESSAGES.MESSAGE_NUMBER FROM OPC_ACT_MESSAGES,OPC_ESCAL_ASSIGN_M WHERE (OPC_ACT_MESSAGES.receiving_time Between $DELTA_TIME AND $ACTUAL_TIME) AND (OPC_ACT_MESSAGES.SEVERITY<>2) AND (OPC_ESCAL_ASSIGN_M.MESSAGE_NUMBER=OPC_ACT_MESSAGES.MESSAGE_NUMBER AND (OPC_ESCAL_ASSIGN_M.OP_NAME<>'OpC' OR OPC_ESCAL_ASSIGN_M.OP_NAME is NOT null));
END
my @result = AF_OV::exec_sql($request);
#print "$request";
my $id;
my $tmpfile='/tmp/idlist';
#nettoyage fichier tmp
unlink $tmpfile;
open (FICHIER, ">>$tmpfile") || die ("Vous ne pouvez pas créer le fichier \"idlist\"");
# recuperation des IDs et ecriture dans un fichier tmp
foreach $id (@result) {
chomp $id;
my $CMD = ("/opt/OV/bin/OpC/opccmachg -user AF -id $id -async COMMENTAIRE=Ticket_pris_en_charge");
print FICHIER "$CMD\n";
}
close (FICHIER);
open (my $cmd,'<',$tmpfile) || die ("Vous ne pouvez pas ouvrir le fichier \"idlist\"");
while ($line = <$cmd>) {
system "$line";
}
close (FICHIER); |
J'ai tout tenté:
1) Passer directement le $CMD à la commande system
2) Passer par un fichier temporaire et demander a juste executer les lignes, au cas où cela soit un problème de portée de variable
3) Appel d'un script bash extérieur qui lancerait les commandes opccmachg
Mais j'ai toujours et systématiquement le même message d'erreur:
Insecure dependency in system while running with -T switch at <mon script>
J'ai passé la journée entière hier a chercher sur le net (et je me sens étrangement seul sur Google avec ce message d'erreur), a tenter de comprendre ce qui n'allait pas, j'ai tenté plusieurs syntaxe/algo différents.... mais toujours le même mur à la fin.
Franchement je suis a 2 doigts de me dire que je vais repasser au Bash pour faire le job, mais d'un autre coté cela me rend fou de pas comprendre maintenant !
Voilà, j'espère que l'on pourra m'aider, ce n'est plus tant que je sois dans la mouise si je n'y arrive pas, que de refuser que la machine soit plus forte que moi :ptdr:
D'avance merci