What I do is set the script to flush the buffer after every print ($| = 1) and print a message after every email is sent, then view the output in a browser that doesn't buffer it (I use an early version of NS, but I imagine there are other options). Since this is for your own use, the output doesn't have to be pretty.
You could also use a frames layout with one frame running the script and another loading and refreshing an output file, which would be updated every email or x number of emails with the current status.