Bonjour !
J'aimerais écrire un programme en perl permettant de lire un fichier très simple/
J'ai plus ou moins réussi à le faire en bash grâce à awk et quelques if et echo (j'aimerais faire avec print en bash aussi) :Fichier config :
Cpu CRITIQUE: Taux d.utilisation du CPU = 94,32 %:
Mem OK: Taux d.utilisation de la memoire = 43,51 %:
J'aimerais faire la même chose en perl, mais je bloque un peu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #! /bin/bash etat_cpu="$(awk -F ":" '{print $1}' config | grep Cpu)" details_cpu="$(awk -F ":" '{print $2}' config | grep CPU)" if [ "$etat_cpu" == "Cpu OK" ]; then echo "OK - $details_cpu"; exit 0 fi if [ "$etat_cpu" == "Cpu ATTENTION" ]; then echo "Attention - $details_cpu"; exit 1 fi if [ "$etat_cpu" == "Cpu CRITIQUE" ]; then echo "Critique - $details_cpu"; exit 2 fi
Voici mon code
Et j'ai ces belles erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #!/usr/bin/perl -w use strict; my $etat_cpu = `awk -F ":" '{print $1}' config | grep Cpu` my $details_cpu = `awk -F ":" '{print $2}' config | grep CPU` if ( my $etat_cpu eq "Cpu OK" ) { print "OK - $details_cpu"; exit 0; } if ( my $etat_cpu eq "Cpu ATTENTION" ) { print "Attention - $details_cpu"; exit 1; } if ( my $etat_cpu eq "Cpu CRITIQUE" ) { print "Critique - $details_cpu"; exit 2; }
Je débute en perl, merci de m'aider !"my" variable $etat_cpu masks earlier declaration in same statement at ./check_perltest.pl line 7.
syntax error at ./check_perltest.pl line 5, near "my "
Global symbol "$details_cpu" requires explicit package name at ./check_perltest.pl line 5.
syntax error at ./check_perltest.pl line 10, near "}"
Execution of ./check_perltest.pl aborted due to compilation errors.![]()
Partager