Moin, moin,
vielen Dank für Deine ausführliche und professionelle Antwort!!!!
Oder sorge dafür, dass auch die libc kapiert, dass die Datei keine Textdatei ist (O_BINARY). Mit O_BINARY als zusätzliches Flag in deinem Test bleibt die Datei ebenfalls unbeschädigt.
Das isses: O_BINARY und alles wird gut (geprüft). binmode(FH) ist eben doch nicht alles ;)
Warum mußt Du eigentlich die Zahl auf Krampf binär speichern?
Da muss ich weiter ausholen. Kurze Antwort: Hier stand die Idee Pate, nur eine Zahl zu speichern (zum Verwalten fortlaufender Nummern für diverse Anwendungen). Lange Antwort: In einer sequentiellen Verarbeitung von Dateien (danke Niklas Wirth) brauche ich Längenangaben die stets immer die gleiche Anzahl an Bytes haben, so erzeugt pack() mit Schablone "N" aus einem 32-Bit-Integer ebendiese 4 byte (32 Bit), egal ob die Zahl in dezimal ein, zwei, drei oder sonststellig ist. Freilich habe ich hier auch Dateien rumschwirren, die nicht nur 4 Byte haben, bisher stand da jedoch nie 0x1A am Ende sondern Nullterminierte Zeichenketten.
Nochmal: Ein herzliches Dankeschön für Deine Ausführungen zu libc! Hab Einiges dazugelernt.
Schönen Sonntag,
Grüße an Alle,
Horst Hurtig