expression réguliére RESOLU [PERL] - Perl - Programmation
Marsh Posté le 17-10-2018 à 15:53:39
Bonjour,
Je propose :
Code :
|
Mais je suggère surtout de ne pas utiliser une expression régulière, dans ton cas tu peux travailler en récupérant dans une string tous les caractères à partir du 27ème.
Marsh Posté le 17-10-2018 à 16:00:06
j'ai trouvé une autre methode que le regex
c'est pas du regex mais cela fait le boulot
my $str=1.3.6.1.2.1.196.1.2.1.1.3.13;
$i=rindex($str,"." );
$a=substr($str,$i+1);
cela me renvoi $a = 13
Marsh Posté le 17-10-2018 à 16:00:50
MaybeEijOrNot a écrit : Bonjour,
|
merci beaucoup MaybeEijOrNot
c'est pour faire remonter si les bornes wifi son up ou down sur un cotnroleur HPE.
Marsh Posté le 17-10-2018 à 17:04:26
skoizer a écrit : j'ai trouvé une autre methode que le regex |
Comme je disais, mieux vaut travailler avec les méthodes classiques associées aux strings. Ta solution est bonne et peut être généralisée et maintenue facilement. Travailler sur la longueur de la chaine est la solution la moins coûteuse si tu es certain que ça n'évolue pas dans le temps, c'est donc en contrepartie moins maintenable.
Marsh Posté le 17-10-2018 à 21:50:09
my $str="1.3.6.1.2.1.196.1.2.1.1.3.13";
(my $a = $str) =~ s/.*\.//;
La seconde ligne s'expanse de manière plus lisible ainsi:
my $a = $str;
$a =~ s/.*\.//;
ou sinon
my $a = substr($str, 1+rindex($str, '.'));
A+,
Marsh Posté le 17-10-2018 à 15:38:59
bonjour,
Une variable me retourne ceci
1.3.6.1.2.1.196.1.2.1.1.3.4
ou
1.3.6.1.2.1.196.1.2.1.1.3.15
ou
1.3.6.1.2.1.196.1.2.1.1.3.13
Comment faire en perle pour recupérer apres le dernier point
par exemple
13 = 1.3.6.1.2.1.196.1.2.1.1.3.13
C'est pour récupérer une sequence d'une OID sur un equipement qui fait du snmp.
merci
Message édité par skoizer le 17-10-2018 à 16:35:42
---------------
je veux tout, tout de suite, et gratuitement ! miladiou !