hi,
endlich mal wieder bischen was in Perl ;)
Um zu prüfen ob ich überhaupt richtig auslese habe ich die 4 Byte mal in HEX mit folgender Funktion ausgeben lassen...
sub getHex {
my ($self, $data) = @_;
my $i;
my $return;for ($i = 0; $i < length($data); $i++)
{
$return .= uc(unpack("H2",substr($data, $i, 1)));
if ($i + 1 < length($data))
{
$return .= " ";
}
}
return $return;
}
Das können wir schön viel kürzer machen, guck mal:
~~~perl
my $bin = pack "I", 898544; # erzeuge 4 bytes
printf "%02X %02X %02X %02X", unpack("CCCC", $bin);
# F0 B5 0D 00
2. Zeile Von r.n.l.:
- Schablone "C" steht für Character, unpack "C" liefert den numerischen Wert eines Bytes in dezimal (CCCC für 4 bytes),
- Format %02X macht aus der Dezimalzahl eine zweistellige Hexzahl mit großen Buchstaben.
Hotti