The following module was proposed for inclusion in the Module List: modid: MIME::Multipart::ParseSimple DSLIP: adpO2 description: simple multipart parser, maintains doc order userid: JIMI (Jimi Carlo Wills) chapterid: 19 (Mail_and_Usenet_News) communities: comp.lang.perl.modules
similar: MIME::Parse rationale: I have a requirement for knowing the part order, and I can't find another parser that keeps the order (because they're all in a hash keyed on content-disposition). Also, they all write the files out to tmp, which I don't want (and can't guarantee will work on every target). So instead of that, I parse into an array. This is returned (by reference) from a parse() method, which accepts a filehandle as its argument. Each item of the list corresponds to a MIME header and is a hash of header items, with the first corresponding to the multipart header and including Preable and Epilog if present. The content of each part is keyed as "Body" and any header parameters (e.g. boundary) are parsed into hashed and keyed as "<Header-Name>.params". E.g., the boundary itself would be at: $returned_listref->[0]->{"Content-Type.params"}->{boundary} I do nothing to parse/decode the actual content. This module is pure for my own needs, but I figure I might as well share it. Somebody might find it interesting. enteredby: JIMI (Jimi Carlo Wills) enteredon: Mon Dec 30 14:42:17 2013 UTC The resulting entry would be: MIME::Multipart:: ::ParseSimple adpO2 simple multipart parser, maintains doc order JIMI Thanks for registering, -- The PAUSE PS: The following links are only valid for module list maintainers: Registration form with editing capabilities: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=79f00000_44752e74b41fd338&SUBMIT_pause99_add_mod_preview=1 Immediate (one click) registration: https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=79f00000_44752e74b41fd338&SUBMIT_pause99_add_mod_insertit=1 Peek at the current permissions: https://pause.perl.org/pause/authenquery?pause99_peek_perms_by=me&pause99_peek_perms_query=MIME%3A%3AMultipart%3A%3AParseSimple