You probably may want to know that the later version of CGI does support XForms Model POST, both as application/xml and as multipart/related. When you do such a post, the XML is available through the query param XForms:Model. As in CGI.pm
# Process XForms postings. We know that we have XForms in the
# following cases:
# method eq 'POST' && content-type eq 'application/xml'
# method eq 'POST' && content-type =~ /multipart\/related.+start
+=/
# There are more cases, actually, but for now, we don't support
+other
# methods for XForm posts.
# In a XForm POST, the QUERY_STRING is parsed normally.
# If the content-type is 'application/xml', we just set the para
+m
# XForms:Model (referring to the xml syntax) param containing th
+e
# unparsed XML data.
# In the case of multipart/related we set XForms:Model as above,
+ but
# the other parts are available as uploads with the Content-ID a
+s the
# the key.
# See the URL below for XForms specs on this issue.
# http://www.w3.org/TR/2006/REC-xforms-20060314/slice11.html#sub
+mit-options