use strict; my $delim = $/; $/ = ''; my $file = ; $/ = $delim; $file =~ s/(<%--)?\s*/($1 ? '' : '<%-- ') . ""/ige; $file =~ s=\s*(-->)?='' . ($1 ? '' : " -->\n")=ige; print $file; __DATA__ <%-- -->