I don't know if it works on win32, but Term::ReadLine has a prompt. Are you willing to use a GUI, like Tk? If so, you could use a Text widget and you could manipulate it anyway you want.
Yes, I would use a GUI. Though I never used one before. I'll do some research on how to use them... But without GUIs I suppose there's no way to do this, or is there?