Hallo pl,
PS: Was mich nervt ist, daß C den Little Endian bevorzugt.
Tut es nicht. Dein Intel-Prozessor tut das. Nimm einen IBM Großrechner oder einen Motorola 68xxx Prozessor, die sind Big Endian.
Stimmt natürlich. Aber am Perlcode siehst Du, wie einfach sich Perl damit tut,
nist der Short in Networkorder. Damit und mit den anderen Schablonen wirst Du von der Architektur unabhängig: Perlcode läuft plattformübergreifend.
Das kann C auch: Im Header arpa/inet.h findest du ntohs & Co, die für dich „das Denken übernehmen“: ntohs bspw. steht für network to host short, das heißt, dass der short-Wert (eigentlich uint16_t) anschließend definitv in der richtigen Host-Endianess vorliegt – auf IBM-PC kompatiblen Prozessoren findet daher ein Byte-Swapping statt, bei PowerPC zum Beispiel nicht.
Viele Grüße
Robert