das würde ich dann aber so machen, dass man anstatt alles auf STDOUT printed:
also
print "Content-Type: text/html\n\n";
...
ein output modul schreibt...
und eine instance oder an einen TypeGlob dieses Moduls die Ausgaben schickt...
dieses entscheidet dann darüber, ob gezippt wird oder ähnliches oder nix...
dann hat man es schön an einer stelle gekapselt und sich beim eigentlichen ausgeben via print weniger gedanken machen
PS: kann man vielleicht sogar STDOUT verbiegen?