in reply to Pasting text when capturing user input only prints one character if system call is made in the loop

Solution turned out to be simple, I don't need to use tput (and thus system calls) for cursor navigation, I can just print ANSI escape sequences.

I wanted to wait before posting again until I felt confident there would be no more obstacles in my approach. The embedded editor is accomplishing its intended purpose, just need to hammer out some logic now. I probably shouldn't have used the word "portable", what I was meaning was mostly portable within my situation, which involves emulators in *nix environment, primarily on Macs. Unless there are some edge cases I haven't found yet, I don't think I will have any problems using ANSI escapes.

As far as reinventing the wheel goes, this is something I am often accused of, and personally I have benefited much from the growth and enlightenment from doing so, and in the end I am usually more satisfied with the final product than taking the easier/mainstream approach. I truly believe that wheel reinventions share a great deal of credit for the level of technological advancement we have today.

Thanks to everyone for all your input.

  • Comment on Re: Pasting text when capturing user input only prints one character if system call is made in the loop

Replies are listed 'Best First'.
Re^2: Pasting text when capturing user input only prints one character if system call is made in the loop
by haukex (Archbishop) on May 07, 2019 at 19:50 UTC
    As far as reinventing the wheel goes, this is something I am often accused of,

    It wasn't really meant as an accusation - it's something to be aware of. The context in which it is done matters - for example, I like to use these replacements for Test::Fatal and Test::Warnings, because they're nice and short yet complete (for my purposes), and I don't pull in extra dependencies for such short snippets. Using it as a learning experience is also a valid point, I also like to learn as much as I can about the topic I'm working on. I just think it should be considered whether this is just a little "personal helper script", or code that is going into production, in which case a module will most likely have more features, and it will (hopefully) get updates. I think a good way to look at it is whether this code might be maintained by others (which is very often the case), and one can ask oneself whether this is code one would like to inherit from someone else and maintain :-)

      Yes, I agree.