use Term::ReadKey; my $key = ''; ReadMode(4); my %keys = ( A => 'KeyUp', B => 'KeyDown', C => 'KeyRight', D => 'KeyLeft'); while ($key ne 'q' ) { while (not defined ($key = ReadKey(-1))) { # No key yet } if ( ord($key) == 27 ) { if( ReadKey(-1) eq '[' ) { $key = ReadKey(-1); print $keys{$key},"\n"; } } } print "\n"; ReadMode(0);