in reply to Re^2: Any smart Perl editors?
in thread Any smart Perl editors?

Very nice! Here is a slightly changed version adapted to my own coding style (using '};' instead of '}' and pod documentation before each sub):
function GetPerlFold() if getline(v:lnum) =~ '^\s*sub\s' return ">1" elseif getline(v:lnum) =~ '\};*\s*$' let my_perlnum = v:lnum let my_perlmax = line("$") while (1) let my_perlnum = my_perlnum + 1 if my_perlnum > my_perlmax return "<1" endif let my_perldata = getline(my_perlnum) if my_perldata =~ '^\s*\(\#.*\)\?$' " do nothing elseif my_perldata =~ '^\s*sub\s' return "<1" elseif my_perldata =~ '^\s*=head.\s*' return "<1" else return "=" endif endwhile else return "=" endif endfunction setlocal foldexpr=GetPerlFold() setlocal foldmethod=expr
This will let the pod lines between subs out of the folds. The original version will fold the pod lines with the previous sub.