I ommitted that the code from my previous post was in a while loop. while(1) { ReadMode('cbreak'); $a = ReadKey(0); ReadMode('normal'); print ord($a) . "\n"; } So when a multibyte string was returned the first character (<esc.) was processed and the two remaining characters were buffered and processed as well. That makes more sense. Sorry for the spam. :-) __________________________________________________ Do You Yahoo!? Yahoo! Auctions - buy the things you want at great prices http://auctions.yahoo.com/ ==== Want to unsubscribe from Fun With Perl? Well, if you insist... ==== Send email to <fwp-request@technofile.org> with message _body_ ==== unsubscribe