Por que o valor não inicializado meu relatório script' em eval ‘string’?

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

  •  08-07-2019
  •  | 
  •  

Pergunta

Estou recebendo este aviso:

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

Quando eu executar esse código:

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

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

O que está causando o erro?

Como posso corrigir a causa subjacente? (Ou não suprimir o aviso?)

Foi útil?

Solução

Há um ponto e vírgula após eval.

Outras dicas

O eval aqui faria absolutamente nada de qualquer maneira. Backticks nunca jogue erros. Não é $@ mas $? que você deseja verificar.

Além disso, se você está jogando fora o resultado, pode ser uma idéia mais limpo para usar sistema. por exemplo.

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top