fileTypes pl pm pod firstLineMatch ^#!.*\bperl\b foldingStartMarker (/\*|(\{|\[|\()\s*$) foldingStopMarker (\*/|^\s*(\}|\]|\))) keyEquivalent ^~P name Perl (Gerd) patterns match ^.*@@@.*$\n? name comment.very_important match ^(#).*$\n? name comment.line.entire match ^\s*package\s+.*$\n? name entity.name.class captures 1 name keyword.control.perl 2 name entity.name.function 3 name storage.type.method match ^\s*(sub)\s*([^\(]*)(.*) name other.function match \b(sub)\b name keyword.control.perl begin ^(?=(\t| {4})) end (?=[^\t\s]) name meta.leading-tabs patterns captures 1 name meta.odd-tab 2 name meta.even-tab match (\t| {4})(\t| {4})? begin << *"([ s]*HTML)" *; end ^\1$ name string.unquoted.heredoc.doublequote.html.perl patterns match [\$\@\%][a-zA-Zx7f-xff\$][a-zA-Z0-9_x7f-xff\$]*\b name variable.other.readwrite.global.perl include text.html.basic begin << *"([ s]*CSS)" *; end ^\1$ name string.unquoted.heredoc.doublequote.css.perl patterns match [\$\@\%][a-zA-Zx7f-xff\$][a-zA-Z0-9_x7f-xff\$]*\b name variable.other.readwrite.global.perl include source.css begin << *'HTML' *; end ^HTML$ name string.unquoted.heredoc.quote.html.perl patterns include text.html.basic begin << *'CSS' *; end ^CSS$ name string.unquoted.heredoc.quote.css.perl patterns include source.css begin << *'JavaScript' *; end ^JavaScript$ name string.unquoted.heredoc.quote.js.perl patterns include source.js begin \b(s|tr|y)\s*([^A-Za-z0-9\s]) beginCaptures 1 name keyword.function.perl 2 name keyword.control.other.delimiter.regexp end (\2)(.*?)(?<!\\)(\\{2})*(\2) endCaptures 1 name keyword.control.other.delimiter.regexp 2 name string.regexp.perl.replace.replace-part 3 name string.regexp.perl.replace.replace-part 4 name keyword.control.other.delimiter.regexp name string.regexp.perl.replace patterns include source.regexp.perl begin (?<!\\)(\/) end \/ name string.regexp.perl.find.gerd patterns include source.regexp.perl include source.perl scopeName source.perl.gerd uuid E609E374-92CA-43D1-8C1F-B675607D045D