On 7/11/2004 3:43 AM, Youssef Eldakar wrote:
I am trying to pack a hexadecimal string from a text file. I am using the H conversion with the pack function. Strangely, 0xC2 values are appearing in the resulting byte stream right before bytes whose value exceeds 0x7F.
To illustrate, the following works as expected:
$ perl -e 'print pack("H*","207F10")'|od -Ax -tx1
000000 20 7f 10
000003
However, replacing the "7F" with "80" in the pack function, results in the appearance of the "C2" in the dump:
$ perl -e 'print pack("H*","208010")' | od -Ax -tx1
000000 20 c2 80 10
000004
Right now I'm on a Windows 2000 machine running perl 5.6.1. I get the expected:
[X:\home\Administrator] $ perl -e "print pack('H*','207F10')" | od -Ax -tx1 000000 20 7f 10 000003
[X:\home\Administrator] $ perl -e "print pack('H*','208010')" | od -Ax -tx1 000000 20 80 10 000003
When I get a chance I'll check on my laptop which is running Debian GNU/Linux with perl 5.8.3. What are you running?
Randy.
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>