Pourquoi mon script signale-t-il une "valeur non initialisée dans eval" # 8220; chaîne & # 8221 ;?

StackOverflow https://stackoverflow.com/questions/303841

  •  08-07-2019
  •  | 
  •  

Question

Je reçois cet avertissement:

Use of uninitialized value in eval \"string\" at myscript.pl line 57.

Quand j'exécute ce code:

eval;
{
        `$client -f $confFile -i $inputFile -o $outputFile`;
};

if( $@ )
{
        # error handling here ...
}

Quelle est la cause de l'erreur?

Comment puis-je réparer la cause sous-jacente? (Ou sinon supprimer l'avertissement?)

Était-ce utile?

La solution

Il y a un point-virgule après eval .

Autres conseils

L’évaluation ici ne ferait absolument rien de toute façon. Les backticks ne génèrent jamais d'erreurs. Ce n'est pas $ @ mais $? que vous souhaitez vérifier.

De même, si vous jetez le résultat, il serait peut-être plus judicieux d’utiliser système . par exemple

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top