my $level = 0; s{}{my $r = ""; if ($level < $1) {$r .= ""} if ($level > $1) {$r .= "
"} $level = $1; "$r"}eg; s{\n}{\n}g; $_ .= "" while $level--;