in reply to Re: Backspace & delete
in thread Backspace & delete

I can't test which terms exactly at the moment as I'm working off site and am relying on reports from other users - though some of them will definetly be using the hyperterminal from win9x.
Two have reported the old ^H. I was really wondering if there is a perl way to do it without `stty`-ing...

Billy

Replies are listed 'Best First'.
Re: Re: Re: Backspace & delete
by trantor (Chaplain) on Aug 02, 2001 at 18:00 UTC

    Since this can be a problem with other applications too, why don't you fix it outside of Perl? It's definitely not a Perl problem after all. Naturally Perl can fix it, but being lazy programmers we want to fix it only once, and for all, don't we? :-)

    Fixing the backspace problem is simple:

    • At the shell prompt, type cat or equivalent program waiting for your input;
    • Type a few letters then hit the key you want to act as delete (erase) key
    • You'll probably see ^? or ^H instead of what you expect
    • Quit the program (usually Enter followed by ^D will do
    • Type stty erase ^H or ^?, according to the character you've seen
    • Try again the cat test, this time you should be able to delete properly

    This is all you need, just add the command to your .tcsh or .bashrc or equivalent, so that it will be permanent and it will help other programs that do simple I/O too.

    Note: some versions of stty want you to type a ^ followed by the caracter, others want you to type the exact character. In the latter case, most modern shells (and many editors) allows you to press ^V (that is, a real CTRL+V) followed by the real ^? or ^H. Again, because of the special meaning of a ? for the shell, you might have to type \? instead.

    -- TMTOWTDI