Look up ASCII, and change print $c; to print ord($c);. The delete key doesn't have a character map (which is why you get a space) your program will need to compair with the delete character, not the space character. Also look at what pressing return does ; )