Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
[perl] Pipe dans une commande UNIX
Envoyé par: floxi

Bonjour,
voila je cherche à exécuté une commande contenant une variable changeante à l'intérieur d'un foreach.

Le code fonctionne si je ne rajoute pas le "| cut -d " " -f4" de la ligne my $varin.


Code :

foreach $VAR (`snmpwalk sd21 -c public -v 2c Ifoperstatus | grep up | grep 101 | cut -d "." -f2 | cut -d " " -f1`) { my $varin = `snmpwalk sd21 -c public -v 2c ifInOctets.$VAR | cut -d " " -f4` ; print"$varin\n"; }




Message d'erreur:

Code :

sh: -c: line 1: syntax error near unexpected token `|' sh: -c: line 1: ` | cut -d " " -f4'



Je précise, que le script doit permetre d'afficher le traffic d'un switch de toutes les interfaces qui sont "UP".

Si quelqu'un peut m'aider, c'est mon premier script PERL lol

Merci

Poste le Wednesday 6 June 2007 10:23:03
Répondre     Citer    
Re: [perl] Pipe dans une commande UNIX
Envoyé par: MochiMochi

Salut,

je ne suis pas un grand gourou en Perl, mais je pense que c'est un bête problème de fin de ligne qui est capturée lors de la récupération de sortie. Observe la différence entre :

perl -e 'my $var=`echo ok`; print `echo $var | rev`'
et
perl -e 'my $var=`echo ok`; chomp $var; print `echo $var | rev`'


Poste le Wednesday 6 June 2007 12:26:59
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[perl] Pipe dans une commande UNIX
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons