weil dein Hex-string als Ascii Code (oder ein anderer Zeichensatz) interpretiert wird.
wieso willst du eigentlich eine bereits im hexadezimal system stehende Zahl nach Hex konvertieren? das geht doch gar nicht ;)
wenn du willst das perl den string als eine Hex-Zahl interpretiert mach folgendes:
die zahl darf allerdings 32Bit nicht überschreiten. Sprich, nicht mehr als 8 Stellen haben.
zu pack und unpack siehe
perldoc -f pack
und
perldoc -f unpack\n\n
<!--EDIT|vayu|1143024769-->