#!/usr/bin/perl use strict; use warnings; use Term::ReadKey; ReadMode('cbreak'); while(1) { my @chars=read_all(); print join(' ',@chars)."\n" if(@chars); sleep(1); print localtime()."\n"; } sub read_all { my @ret; while(defined(my $char=ReadKey(-1))) { push(@ret,sprintf('%02X',unpack('C',$char))); } return @ret; }