シンタックスを 5.10 対応にした(添削希望)
早く、公式 で対応して欲しい。
diff ~/.vim/syntax/perl.vim.org ~/.vim/syntax/perl.vim/syntax/perl.vim
74a75,77 > syn match perlConditional "\<given\>" > syn match perlConditional "\<when\>" > syn match perlConditional "\<default\>" 76c79 < syn keyword perlConditional if elsif unless --- > syn keyword perlConditional if elsif unless given when default 98c101 < syn keyword perlStatementStorage my local our --- > syn keyword perlStatementStorage my local our state 106c109 < syn keyword perlStatementFiledesc binmode close closedir eof fileno getc lstat print printf readdir readline readpipe rewinddir select stat tell telldir write nextgroup=perlFiledescStatementNocomma skipwhite --- > syn keyword perlStatementFiledesc binmode close closedir eof fileno getc lstat say print printf readdir readline readpipe rewinddir select stat tell telldir write nextgroup=perlFiledescStatementNocomma skipwhite 113c116 < syn match perlStatementInclude "\<\(use\|no\)\s\+\(\(integer\|strict\|lib\|sigtrap\|subs\|vars\|warnings\|utf8\|byte\|base\|fields\)\>\)\=" --- > syn match perlStatementInclude "\<\(use\|no\)\s\+\(\(integer\|strict\|lib\|sigtrap\|subs\|vars\|warnings\|utf8\|byte\|base\|fields\|feature\|version\)\>\)\=" 301,305c304,308 < syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qx]#+ end=+#+ contains=@perlInterpDQ < syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qx]|+ end=+|+ contains=@perlInterpDQ < syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qx](+ end=+)+ contains=@perlInterpDQ,perlBrackets < syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qx]{+ end=+}+ contains=@perlInterpDQ < syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qx]/+ end=+/+ contains=@perlInterpDQ --- > syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qxv]#+ end=+#+ contains=@perlInterpDQ > syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qxv]|+ end=+|+ contains=@perlInterpDQ > syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qxv](+ end=+)+ contains=@perlInterpDQ,perlBrackets > syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qxv]{+ end=+}+ contains=@perlInterpDQ > syn region perlQQ matchgroup=perlStringStartEnd start=+\<q[qxv]/+ end=+/+ contains=@perlInterpDQ 405c408 < syn region perlBlockFold start="^\z(\s*\)\(if\|elsif\|unless\|for\|while\|until\)\s*(.*)\(\s*{\)\=\s*\(#.*\)\=$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\(\s*{\)\=\s*\(#.*\)\=$" end="^\z1}\s*;\=\(#.*\)\=$" transparent fold keepend --- > syn region perlBlockFold start="^\z(\s*\)\(if\|elsif\|unless\|given\|when\|default\|for\|while\|until\)\s*(.*)\(\s*{\)\=\s*\(#.*\)\=$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\(\s*{\)\=\s*\(#.*\)\=$" end="^\z1}\s*;\=\(#.*\)\=$" transparent fold keepend
以下、ついで。