Récupérer la sortie d'un appli windows-snmp - Perl - Programmation
Marsh Posté le 09-02-2008 à 10:20:30
system ne rend que le code retour resultat de la commande.
Pour récupérer le stdout, il faut utiliser `` (back quote)
ensuite grep ne fonctionne pas comme tu le penses (tu n'es pas en shell) : il ne fait que parcourir un tableau (ici à une entrée) et "filtrer" les éléments pour lesquels l'expression rend "false". Pour utiliser grep, il faut splitter suivant les \n et utiliser une expression régulière.
Code :
|
Marsh Posté le 12-02-2008 à 12:52:09
Merci ca marche.
Par contre, y'a un moyen d'exprimer simplement l'intervalle 0-24 à l'aide d'expression réguliére?
Marsh Posté le 12-02-2008 à 13:15:44
/^192\.168\.0\.(\d|1\d|2[0-4])$/ |
Marsh Posté le 12-02-2008 à 22:37:05
dans le code que j'ai donné, j'aurais tendance à utiliser...
Code :
|
Mais c'est une question de préférence...
Marsh Posté le 13-02-2008 à 09:16:04
200% d'accord les regexs c'est pas fait pour ce genre de chose
(mais c'était juste pour répondre à son besoin de regex
Marsh Posté le 14-02-2008 à 00:17:36
Oooupps le boulet,
je viens de me rendre compte avec 5 jours de retard que les . doivent être remplacés par des \.
Heureusement anapajari veille en écrivant des regexp valides lui
Marsh Posté le 08-02-2008 à 17:04:17
Je suis débutant en perl, et j'utilise activeperl sur windows.
Donc, je voudrais récupérer la sortie d'un prog windows dans une variable liste.
Le type de code est le suivant:
$ARGV=@ARGV;
my @foo=grep( "192.168.0.2",system("snmpwalk switchcisco .1.3.6.1.2.1.16.1.1" ));
Mais rien est stocké dans la variable!
Message édité par helloyes le 08-02-2008 à 17:05:14