Moin,
Die Lösung zu Deinem Problem basiert im wesentlichen auf 2 Funktionen:
escape_html ( INPUT )
unescape_html ( INPUT )
Du müßtest also die Daten vor dem Senden der E-Mail wieder "unescapen", damit keine Enitites in der Mail ankommen. Mit Perl kenne ich mich leider nicht aus. Die Funktion einfach umkehren ist vielleicht nicht so sinnvoll, weil damit auch andere Entities wieder zurückübersetzt werden.
Vielleicht wäre es am einfachsten die Umlaut-Entities wieder durch die Umlaute zu ersetzen, bevor die Mail gesendet wird. Das beträfe ja nur ä,ö,ü, Ä,Ö,Ü und ß.
In PHP gibt es 2 Funktionen, einmal
htmlentities() und htmlspecialchars().
Ich könnte mir vorstellen, daß es ähnliches auch in Perl gibt. In sofern wäre es eine Überlegung, statt der htmlentities-Entsprechung nur das htmlspecialchars-Analog zu verwenden, welches dann Umlaute erst gar nicht in Entities umformen würde.
mit freundlichen Grüßen
Ulrich