ZeeGee Software

MIME::Parser::RedoUU

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.


Top NAME

MIME::Parser::RedoUU - a Redoer which sniffs out uuencoded data.


Top DESCRIPTION

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.


Top PUBLIC INTERFACE

Top horizon LINES
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.

Top redo IN, ENTITY, PARSER
Instance method. Try to detect and dispatch embedded uuencode as a fake multipart message. Returns new entity or undef.


Generated Fri Sep 14 02:48:17 2001 by cvu_pod2html