Things like Term::ReadKey and Term::Readline can hose your terminal session if not exited properly. So I found this somewhere and assign to the kill signal (^C)
$SIG{INT} = sub { done("Ouch!") }; sub done { print "@_\n\n"; exit; }