TermReadKey
Term-ReadKey is a compiled perl module dedicated to providing simple control over terminal driver modes (cbreak, raw, cooked, etc.), support for non-blocking reads if the architecture allows and some generalized handy functions for working with terminals.
For more information on Perl, see perl.com or perl.org.