Ich habe schon überlegt, ob das zeugs hier dran schuld ist: "tr/[DOMAIN]/$ENV{SERVER_NAME}/"... aber dürfte eigentlich nicht, denn er soll "[DOMAIN]" ja bitte nicht als regular Expression interpretieren...
Ich hab keine ahnung was dein Skript macht und auch keine Zeit alles durchzulesen, aber du gibst einmal den falschen header aus (im MZ solltest du das bemerken), dann fehlt use strict; (zur Sicherheit) und dann solltest du dich mal auseinandersetzten, was tr/// wirklich macht. Nämlich nicht was du willst.
Struppi.