in reply to printing and mailing

There are probably a lot of ways to do what you're looking to do, but unfortunately no one is going to be able to give you the best way without seeing your code.

But without seeing it, you could do several things. One would be to put all the lines to be printed into an array and then pass that array to a sub to print it and then a sub to mail it. Another would be to do both at the same time as the text is generated or evaluated. This all really depends on the overall scope of what you're doing though.

Rich