" Perl syntax. syn clear MiscChar Comment Error syn case match syn match MiscChar "[^a-zA-Z0-9(){}$ ]" syn match NonMiscChar "[a-zA-Z0-9]" syn match Comment "^\s*#.*" syn match Sharpbang "^#!.*" syn match SpecialString "[.,;]\|\" syn region Include start=/^\s*\<\%(use\|require\|no\)\>/ end=';' syn region DataComment start="^__\%(DATA\|END\)__$" end=/\%$/ syn region POD start=/^=[a-z]/ end=/^=cut/ syn keyword Repeat until while do for foreach syn keyword FlowControl redo last next goto return exit syn keyword Condition if elsif else unless switch defined syn keyword Scope my our local package syn keyword Op x not and or xor cmp lt gt ne eq ge le syn match Op "\(&&\|||\|++\|\*\*\|--\|[!=][=$HOME]\|[<>]=\|<<\|>>\|<=>\)" syn match Ref "\\[$@%&]\|[$@%&]\$\|[$@%&]{" syn match Plus "+\(shift\|(\)" syn match Data "@_" syn keyword Function ref sub syn match Function /\c\<[a-z_]\+[a-z0-9_]\+\s*(\@=/ syn keyword Error warn die exit croak carp cluck confess stderr stdout STDIN STDERR STDOUT so $vim_cf/quoted.syn syn region Quoted start=+<<\s*\(['"]\)\1+ end=+^$+ syn region Quoted start=+<<\s*\(['"]\|\)\z([_a-zA-Z][_a-zA-Z0-9]*\)\>\1+ end=+^\z1$+ "hi SpecialString term=none cterm=bold ctermfg=4 ctermbg=0 let b:current_syntax = "perl"