Frage

Ich erhalte diese Warnung:

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

Wenn ich diesen Code ausführen:

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

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

Was den Fehler verursacht?

Wie kann ich die zugrunde liegende Ursache zu beheben? (Oder sonst die Warnung unterdrücken?)

War es hilfreich?

Lösung

Es gibt ein Semikolon nach eval.

Andere Tipps

Die eval hier wäre absolut nichts tun, sowieso. Backticks werfen nie Fehler. Es ist nicht $@ aber $?, die Sie überprüfen möchten.

Auch wenn Sie das Ergebnis sind wegzuwerfen, kann es eine sauberere Idee zu verwenden System . z.

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top