my $ennumerate=0; ... #you probably have a loop like this in your script? while ($line=<$fh>) { #insert this into the loop: if ($ennumerate==1) { if ($line=~/^#(.*)/) { print "\\item $1\n"; } else { $ennumerate=0; print "\\end{enumerate}\n"; } else { if ($line=~/^#(.*)/) { print "\\begin{enumerate}\n"; print "\\item $1"; $ennumerate=1; } } ... }