One thing you can do, quite easily, is have your program print comments about what it's doing (right before calling $ssh->capture2() or whatever), and of course it can print any captured output or error string afterward, so your output can look something like this:

If you want to get fancy, you could even use Term::ANSIColor and display different things in different colors (e.g., output in green, errors in bright magenta, comments in white, and commands in bright yellow, all on a black background; or whatever colors make you happy).