I uploaded HTML::ReplaceForm today.
Here's the use case for it:
The task is to whip up a web-to-email form with sub-degree of complexity. I'm a fan of making the resulting email look as much like the original form to avoid confusion. But, maintaining two similar versions of the same HTML form for the web and the email variations is a drag.
Enter HTML::ReplaceForm. It provides one function,
replace_form() which replaces all the HTML form elements with corresponding values.
So, you can serve the HTML directly on the web, and run it through this function to generate the corresponding HTML e-mail, without "forking" the form to maintain another copy of it.