Salut, je suis débutant en Perl et je rencontre un soucis au niveau d'une expression régulière, si qqun peut m'aider, merci d'avance . . .

mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
my $cpuline = `top -n1 | grep Cpu`;
# => ceci met "Cpu(s):  6.4%us,  0.4%sy,  0.0%ni, 83.1%id, 10.1%wa,  0.0%hi,  0.1%si,  0.0%st" dans $cpuline
 
if($cpuline =~ /(\d{1,2})(\.)(\d)(\%)(us)/xi)
{
        print "$1  $2  $3  $4  $5";       # => me permet seulement de tester si ça marche ou pas
        print "\nOK\n";
}
Là mon expression régulière ne fonctionne pas . . . comme s'il trouvait pas ce que je cherche : un simple pourcentage

J'ai remarqué par contre que si je met ma cpuline en dur , au lieu de la prendre dynamiquement avec un top . . . il trouve bien mon 6.4%us . . .

Je pige pas . . .

Ah oui, ça me fait la même chose avec ma ligne mémoire . . .