Pregunta

Recibo esta advertencia:

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

Cuando ejecuto este código:

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

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

¿Qué está causando el error?

¿Cómo puedo solucionar la causa subyacente? (¿O de lo contrario suprimir la advertencia?)

¿Fue útil?

Solución

Hay un punto y coma después de eval .

Otros consejos

La evaluación aquí no haría absolutamente nada de todos modos. Los backticks nunca arrojan errores. No es $ @ sino $? lo que desea verificar.

Además, si está descartando el resultado, puede ser una idea más limpia usar sistema . por ejemplo,

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top