Domanda

Ricevo questo avviso:

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

Quando eseguo questo codice:

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

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

Che cosa sta causando l'errore?

Come posso risolvere la causa sottostante? (O altrimenti sopprimere l'avvertimento?)

È stato utile?

Soluzione

È presente un punto e virgola dopo eval .

Altri suggerimenti

L'eval qui non farebbe assolutamente nulla. I backtick non generano mai errori. Non è $ @ ma $? che vuoi controllare.

Inoltre, se stai gettando via il risultato, potrebbe essere un'idea più pulita usare sistema . per es.

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top