Servus.
Ich lese aus einer Datei drei Byte und möchte diese als ein Wort binär maskieren. Im konkreten Fall
read IN, $temp, 3;
if ((hex(unpack(H6, $temp)) & 1)) {
print OUT "aaa";
} else {
print OUT "xxx";
}
mache ich es mir besonders beim Fortschreiben recht bequem - da das Ergebnis nur 0 oder 1 lauten kann schreibe ich einfach zwei versch. beliebige Zeichenketten fort - für meine Aufgabenstellung hier hinreichend. Wenn ich aber mehrere Bits maskieren möchte, muss ich das Ergebnis der Operation - wieder als ein drei-Byte-Wort - fortschreiben. Irgendwie kann ich mich aber mit der pack- und unpack-Funktion nicht so recht anfreunden, es kommt immer nur Datenmüll bei raus.
Wie muss ich hier formulieren, um das maskierte Ergebnis sauber fortzuschreiben?
Danke für Tipps (besser noch: Codeschnipsel)
Schorsch