This module is BETA code, which means that the interfaces are fairly stable BUT it has not been out in the community long enough to guarantee much testing. Use with caution! Please report any errors back to eryq@zeegee.com as soon as you can.
MIME::Parser::RedoUU - a Redoer which sniffs out uuencoded data.
Look for embedded "begin" lines in a text/plain, like this:
Content-type: text/plain
begin 644 Hello.gif
M1TE&.#=A$P`3`*$``/___P```("`@,#`P"P`````$P`3```"1X2/F<'MSTQ0
M%(@)YMB\;W%)@$<.(*:5W2F2@<=F8]>LH4P[7)P.T&NZI7Z,(&JF^@B121Y3
4Y4SNEJ"J]8JZ:JTH(K$"/A0``#L`
`
end
Whenever we are confronted with a message whose effective content-type is "text/plain", we scan the decoded body to see if it contains uuencoded data (generally given away by a "begin XXX" line). By default, we scan only the first 24 lines, though you can change this if you need to.
If it does, we explode the uuencoded message into a multipart, where the text before the first "begin XXX" becomes the first part, and all "begin...end" sections following become the subsequent parts. The filename (if given) is accessible through the normal means.
Notice that, since this action is triggered by a "redo", it will work even if the original uuencoded file has been base64-encoded. I have no earthly idea if that's a good thing, but it's pretty cool if you want it to be. :-)
Note: I do not schedule the uuencoded portions for re-doing. I could, but I don't.