in reply to Re: Capturing Arrow Keys Input
in thread Capturing Arrow Keys Input

Extending utilitarians answer to the opener below(!?):

^[ is the escape 0x1b
[
A.

^[[ together is the 'CSI' char sequence introduction sequence. Some terminals might write the 8th-bit-variant using a single character of 0x9b (which is an invalid char in utf-8).

If cat -vet's way to render control chars makes reading too hard, try something like hd or od -x instead and check the hex representation instead. If you see the generated codes and have played a bit with them to gain an understanding, do consider checking the cpan for modules abstracting some of this historic cruft.

Especially as terminal settings come into play - unless it's either throw away code or you can guarantee that the code sequences are unchanged where-ever you run. Seeing the actual sequences themselves is helpful and IMHO required to gain an understanding, albeit it's not very portable...

btw: has anyone a known good way to strip tty escape sequences from a typescript created by script other than a 80% quick and dirty guesswork solutions like unescape.pl (which I'd call an example of throw-away code :))?