Hallo,
$inhalt =~ s/<!--.*?-->//g;
funktioniert aber nicht immer.
Ich nehme mal an, dass manchmal auch Code mitgelöscht wird, oder nicht? Aufgrund deiner ungenauen Beschreibung kann ich das jetzt aber nicht so genau sagen.
So viel ich weis, musst ein Bindestrich escaped werden, da er ja in Klassen eingesetzt wird zB a-z findet alle Kleinbuchstaben des Alphabets, also :
$inhalt =~ s/<!--.+?-->//g;
$xNeTworKx.