erreur dans un script perl

erreur dans un script perl - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-01-2009 à 16:33:58    

bonjour a tous!
 
j'ai besoin d'aide.
 
je dois ecrire un script qui enverra des mails d'alerte sous nagios/opsview. sans rentrer dans le detail du pourquoi/comment.
 
sans la moindre connaissance en perl, par comparaison/test/reflexion/logique, je suis arrive a un script qui a fonctionne mais dont les variables etaient inexactes.
 
j'ai modifie le bousin et ai essaye de le rendre plus "logique" en contractant les "if-then" recurrants.
 
depuis, des que je le teste, je recois une erreur de syntaxe ligne 27
 
le site qui m'indique quoi faire me dit de rajouter des parentheses quelques lignes plus haut, mais la, c'est un autre message d'erreur que je recois...
 
http://docs.opsview.org/doku.php?i [...] ionmethods
 
pouvez vous m'aider?
merci!
 

Code :
  1. #!/usr/bin/perl -w
  2. #
  3. #
  4. # SYNTAX:
  5. my $usage = qq{
  6. mail_custom
  7. Usage: mail_custom
  8. };
  9. use strict;
  10. use Switch;
  11. use lib "/usr/local/nagios/perl/lib";
  12. my $text;
  13. my $sub;
  14. my $mail;
  15. $mail = $ENV{NAGIOS_CONTACTEMAIL}
  16. if $ENV{NAGIOS_SERVICEDESC} {
  17. $text = "$ENV{NAGIOS_SERVICEDESC} on $ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_SERVICESTATE}: $ENV{NAGIOS_SERVICEOUTPUT} ($ENV{NAGIOS_SHORTDATETIME})";
  18. $sub = "$ENV{NAGIOS_SERVICEDESC} on $ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_SERVICESTATE}";
  19. system('/usr/bin/printf "%b" $text | /usr/bin/Mail -s $sub $mail')
  20. } else {
  21. $text = "$ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_HOSTSTATE}: $ENV{NAGIOS_HOSTOUTPUT} ($ENV{NAGIOS_SHORTDATETIME})";
  22. $sub = "$ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_HOSTSTATE}";
  23. system('/usr/bin/printf "%b" $text | /usr/bin/Mail -s $sub $mail')
  24. }
  25. exit;


Message édité par mickael de psagot le 28-01-2009 à 16:36:53
Reply

Marsh Posté le 28-01-2009 à 16:33:58   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed