in reply to how do I line-wrap while copying to stdout?

First off, should you not be using "chomp" instead of "chop"? It is a lot safer if you just want to get rid of the LF/CR

Then, you could take the following code (yours):

if ( length($_) > 80 ) { chop; do { print substr( $_, 0, 80 ) . "\n"; if (length($_) > 80) { $_ = substr( $_, 80, length($_) - 80 ); } else { $_ = ""; } } while length($_); } else { print $_; }

and replace it with (mine):

while (length($_) > 80) { print substr($_, 0, 80) . "\n"; $_ = substr($_, 80); } print $_ ;

Hope this works for you. I am not sure what you want to do with the email headers, perhaps explain a little more on that topic.

Ciao for now
Zig