in reply to Capture user input AND read after it has been modified

AFAIR Term::ReadLine it's possible ...

... but did you consider using Curses? It has an editor widget Curses::UI::TextEditor .

Curses::UI::Tutorial describes how to built a small editor app.

This will certainly save you headaches!

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

  • Comment on Re: Capture user input AND read after it has been modified

Replies are listed 'Best First'.
Re^2: Capture user input AND read after it has been modified
by Allasso (Monk) on Apr 29, 2019 at 01:25 UTC
    Oh yeah, forgot to mention, relying on Cpan modules would definitely be a headache for me. I am hopping around to different machines frequently, and I can't be geeking around trying to install modules in unfamiliar environments when I just need to run a script pronto, especially say, a Mac that doesn't have dev tools installed, etc. Non-reliance on Cpan gives me maximum portability.

      Except under Win, there should be vi on most machines...

      Regards from the past, Sincerely yours, hdb

        Ah, a very simple and clever "why didn't I think of that?" solution, thanks. If I were to go that route I'd probably use nano as it's more straightforward if you just do simple editing. It won't quite work for me though as I don't want the editor to take up the whole screen so user can compare/copy/paste other printed text above it (I'm not just writing an editor, but using it as a component of a specialized tool.) I could use vim/split screen, though this gets clumsy (back to vim modes/commands complexity, manually have to remember the filename to open in :split, yada yada) and I want the user to be able to simply answer a "do you want..." and immediately have the display I want. Anyway, not the UX I'm looking for.

        Good simple suggestion though without knowing all the details of my needs.

        And even academically, I would like to know the answer to the op using core perl.