MIME::Parser::UURedoer - a Redoer which sniffs out uuencoded data.
A Redoer (see MIME::Parser::Redoer) which looks 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.
Instance method. Set the number of lines to read while looking for lines like "begin 644", before giving up. Negative means no limit. Default is 24.
Instance method. Try to detect and dispatch embedded uuencode as a fake multipart message. Returns new entity or undef.
To install MIME::Head, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MIME::Head
CPAN shell
perl -MCPAN -e shell install MIME::Head
For more information on module installation, please visit the detailed CPAN module installation guide.