Par défaut Can't find string terminator "EOF"
Zarkoffe
-
-
-
Bonjour à tous,
Je m'exerce au PERL à travers la création d'un petit script pour mon serveur Nagios.
J'ai l'erreur suivante :
Mon script est le suivant :
Merci d'avance les perleux !
Je m'exerce au PERL à travers la création d'un petit script pour mon serveur Nagios.
J'ai l'erreur suivante :
Can't find string terminator "EOF" anywhere before EOF at check_disque.pl line 15.
Mon script est le suivant :
#!/usr/bin/perl #===================================================================== # Auteur : Admin # Date : 13/03/2022 # But : plugin Nagios pour vérifier l'espace disque utilisé #===================================================================== # Module à utiliser use strict; use warnings; use Nagios::Plugin; use feature qw(switch say); use Getopt::Long; # Détails de l'écran d'aide my $help = <<EOF; Plugin Nagios pour contrôler l'espace disque usage: $0 -w Warning --c Critical Options: -h, --help L'écran de l'aide -w, --warning=INTEGER Le seuil d'avertissement -c, --critical=INTEGER Le seuil critique exemples: $0 -w 80 -c 90 EOF my $warning=0; my $critical=0; my $exit=0; # Récupération des valeurs de paramètres my $result = GetOptions( "w|warning=i"=> \$warning, "c|critical=i" => \$critical, "h|help" => \$help, ); ...
Merci d'avance les perleux !
A voir également:
- Can't find string terminator "'" anywhere before eof at -e line 1.
- É majuscule - Guide
- Find and mount - Télécharger - Récupération de données
- Configuration astra 19.2 e - Forum TNT / Satellite / Réception
- Expected value at line 1 column 1 firefox ✓ - Forum MacOS
- Mon adresse e-mail ✓ - Forum Mail
1 réponse
Salut Zarkoffe,
Tu as une erreur sur ton instruction here doc.
Cette erreur peut se produire si le marqueur choisi pour délimiter la fin de ton texte n'est pas exactement en début de ligne (c'est à dire en 1ère colonne), ou s'il n'existe pas.
S'il y a un espace avant, par exemple.
Dans ce que tu as posté, on ne voit pas d'espace ou autre caractère blanc avant, mais comme ton post a été édité et que tu ne l'avais pas initialement posté avec les balises de code, il se peut qu'il n'apparaisse pas sur le forum tel que tu l'as sur ta machine.
Il existe aussi une syntaxe permettant de placer le délimiteur du here doc de façon indentée.
Il faut alors ajouter un modificateur
https://perldoc.perl.org/perlop#Indented-Here-docs
Dal
Tu as une erreur sur ton instruction here doc.
Cette erreur peut se produire si le marqueur choisi pour délimiter la fin de ton texte n'est pas exactement en début de ligne (c'est à dire en 1ère colonne), ou s'il n'existe pas.
S'il y a un espace avant, par exemple.
Dans ce que tu as posté, on ne voit pas d'espace ou autre caractère blanc avant, mais comme ton post a été édité et que tu ne l'avais pas initialement posté avec les balises de code, il se peut qu'il n'apparaisse pas sur le forum tel que tu l'as sur ta machine.
Il existe aussi une syntaxe permettant de placer le délimiteur du here doc de façon indentée.
Il faut alors ajouter un modificateur
~comme ceci :
my $help = <<~EOF;et le délimiteur peut être indenté.
https://perldoc.perl.org/perlop#Indented-Here-docs
Dal