A Mail::QuoteWrap object expects its text member to contain a reference to a list of lines of text, such as the output of methods like body News::Article(). It can then produce quotified output, optionally prepended with the quote mark designated by output_quotechar, within the width specified by columns. Mail::QuoteWrap specificially does not solve the following problems: It does not handle munged quote characters, such as those produced by the AOHell newsreader or similar gunge: >> This >is a second-generation quote, but it > looks >>like a nasty mix of first- and second-> > generation >>material. It does not automatically detect and bypass news or mail headers. That is not the role of this object. It assumes a paragraph structure to the quoted text and doesn't try to enforce any other. If you want a module that detects document structure and deals well with it, look at Text::Autoformat.