Bien le bonjour c'est encore votre canard adoré !
Je vien ici pour un souci au niveau d'une commande shell dans mon script.
Je travaille toujours sur SME server, sur le module zarafa correspondant.
Il se trouve que le bout de code suivant :
passe toujours dans la cas du die et je trouve l'erreur suivante dans le log :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 open(LIREGRP, "zarafa-admin -L | awk 'NR >= 4' |") == 0 or die "impossible de lire les groupes"; while(<LIREGRP>){ @Allgroups = $_; } close(LIREGRP);
Je cherche a faire du ligne par ligne et rajouté chaque ligne dans un tableau pour faire une comparaison. Me reste juste ce probléme a régler le reste du code est prêt.awk: cmd. line:2: (FILENAME=- FNR=7) warning: error writing standard output (Broken pipe),
Je précise que j'utilise le même open (en changeant le nom) dans une fonction utilisé juste avant et que la tout fonctionne. (j'ai bien vérifié le close, il y est)
Bon aprés le contenu du while est peut être faux mais je cherche d'abord a avoir un open qui fonctionne correctement ..
Merci d'avance a l'aide aporté !
EDIT : j'ai essayé avec la ligne :Je n'ai plus le broken pipe mais je suis toujours dans la cas du die, et il fau absolument que je retire les 3 premiéres lignes de se que je récupére. A la rigueur les retirer au moment du while mais vu que la commande ne passe pas jy réfléchirai plus tard ...open(LIREGRP, "zarafa-admin -L |") == 0
RE-EDIT : j'ai essayez de redirigez vers un fichier log pour voir se qui ressort de la commande, la tout le programme s'exécute mais le fichier log reste vide ...
Partager