in reply to Re(3): Cleaning the Log
in thread Cleaning the Log

You can get rid of one more. perl -pe's/.?\{BS\}//&&redo' file Update: actually, you one needn't escape the curlies. Another two more. perl -pe's/.?{BS}//&&redo' file

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re^4: Cleaning the Log
by demerphq (Chancellor) on Sep 03, 2002 at 10:07 UTC
    Fails on
    A{B}{BS}S}bout
    :-)

    Yves / DeMerphq
    ---
    Software Engineering is Programming when you can't. -- E. W. Dijkstra (RIP)

      Also the simple degenerate case of the user typing '{BS}', but then, so would any solution that didn't involve modifying the keystroke recorder!


      Well It's better than the Abottoire, but Yorkshire!
        Actually neither my version nor yours had this error.

        The key issue here is that you cant just replace .{BS} with // as this allows other char sequences to "become" a {BS} element. The process of converting {BS} to a \b char and _then_ converting the .\b's resolves this issue.

        But you are correct that ultimately there is no way to recover what was actually _entered_ into the computer without knowing the input rules that applied at the time of entry. Basically IMO this entire task is an interesting game but ultimately a futile one from the POV of actually solving the problem.

        Yves / DeMerphq
        ---
        Software Engineering is Programming when you can't. -- E. W. Dijkstra (RIP)

      perl -pe's/{BS}/\b/g;1while s/(^|.)\010//' file

      Makeshifts last the longest.