roger: Fehler im Script beim Empfang von "fremden" Zahlen

Beitrag lesen

Hallo,

ich bekomme von einem (meinem) C Programm per Socket Daten (Zahlen jedoch als String z.B. (20 45 4567 0).
Wenn ich jedoch eine "0" im Perlscript empfange, kommt die nachfolgende Fehlermeldung.

Argument "0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0..." isn't numeric in right bitshift (>>) at ./alert line 82.

$mem_messwert = $messwert >> 16;
ich habe auch schon vorher die whitespaces entfernt
$messwert =~ s/^\s+|\s+$//g;

Die Fehlermeldung tritt nur bei "0" auf. Jede andere Zahl funktioniert, soweit ich bis jetzt gesehen habe.
Auch ist egal an welcher Stelle im String die "0" steht.
Ich benutze split(/ /,string) um die werte in ein Array zu schreiben.

Danke
     roger