#!/usr/bin/perl use strict; use warnings; my $indent_level = -1; sub emit { my $indent = $indent_level <= 0 ? "" : " " x $indent_level; printf "#%s%s", $indent, $_; } while (<>) { unless (s/^\s*#\s*//) { print; next; } if (/^if/) { emit($_); $indent_level++; } elsif (/^el/) { $indent_level--; emit($_); $indent_level++; } elsif (/^endif/) { $indent_level--; emit($_); } else { emit($_); } }