¿Por qué mi script informa el "valor no inicializado en eval" string "?
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?)
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