in reply to Open some text in $EDITOR, allow user to edit it, and then use changed data
I had good success with Proc::InvokeEditor to run the editor of the user on a tempfile.