Vielleicht sollte ich ja noch etwas ergaenzen:
HTML::TreeBuilder baut auf
HTML::Parser auf. Bei diesem Problem ist IMHO der TreeBuilder besser geeignet, weil man erstmal durch Parsen einen Baum erzeugt, dann Elemente darin umsortieren, einzelne Attribute und Werte aendern und das Ergebnis wieder ausgeben kann. Der Umgang mit dem TreeBuilder ist aber wirklich nicht trivial, vor allem weil man sich die benoetigten Teile aus mehreren Manpages zusammenkratzen muss (HTML::Parser, HTML::TreeBuilder, HTML::Element, ...)