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


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

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

  • Comment on Re^4: serial raw write problem with multidigit decimal and strings
  • Download Code

Replies are listed 'Best First'.
Re^5: serial raw write problem with multidigit decimal and strings
by choroba (Cardinal) on Mar 10, 2013 at 20:55 UTC
    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"'
    لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      they are the same for perl, but they are not the same for the device on the serial port.
      the device treats them differently.

      the issue is not really perl, but what ways there are to send the same data in different ways, which might get interpreted differently.

      a more confusing example:

      print "\x36" is 6 in perl, is 54 on device if decimal is expected print "6" is 6 in perl, is 6 on device

      the issue is primary how the device handels the data, which is different on most functions as well.
      kind regards - alex