http://www.perlmonks.org?node_id=1022677


in reply to Re: serial raw write problem with multidigit decimal and strings
in thread serial raw write problem with multidigit decimal and strings

ofc i have ;)
sadly perls chr works as defined and not like the BASIC one.
it firsts evaluates the chr 150 and then submits the result which is a û

kind regards
alex

Replies are listed 'Best First'.
Re^3: serial raw write problem with multidigit decimal and strings
by choroba (Cardinal) on Mar 10, 2013 at 19:39 UTC
    Strange. "\x96" and chr 150 return the same for me:
    diff <(perl -e 'print "\x96"' | xxd) <(perl -e 'print chr 150' | xxd)

    No output.

    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      indeed on the normal console it is the same,but transmitted to the device it is different.
      with chr 150 the û get transmitted,
      with x96 ,HEX96 reaches the device,which excepts a decimal, then it convert it to decimal which is 150,and does not do a ascii table map.
      This works for alot of functions, but some functions except only decimal or string / or do not convert them as usual.

      kind regards
      alex

        HEX96 reaches the device
        What are you talking about? It has nothing to do with print. They are the same even if not printed:
        perl -e 'print "same" if chr 150 eq "\x96"'
        لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ