'#! /usr/bin/env perl' Comment.Hashbang
'\n\n'        Text.Whitespace

'use'         Keyword
' '           Text.Whitespace
'strict'      Name.Namespace
';'           Punctuation
'\n'          Text.Whitespace

'use'         Keyword
' '           Text.Whitespace
'warnings'    Name.Namespace
';'           Punctuation
'\n\n'        Text.Whitespace

'# common delimiters' Comment.Single
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"a: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'a'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'a'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'a'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's/foo/bar/'  Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'a'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"b: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'b'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'b'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'b'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's!foo!bar!'  Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'b'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"c: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'c'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'c'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'c'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's@foo@bar@'  Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'c'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"d: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'd'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'd'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'd'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's\\foo\\bar\\' Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'd'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'# balanced delimiters' Comment.Single
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"e: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'e'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'e'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'e'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's{foo}'      Literal.String.Regex
'{bar}'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'e'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"f: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'f'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'f'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'f'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's(foo)'      Literal.String.Regex
'(bar)'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'f'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"g: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'g'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'g'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'g'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's<foo>'      Literal.String.Regex
'<bar>'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'g'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"h: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'h'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'h'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'h'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's[foo]'      Literal.String.Regex
'[bar]'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'h'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'# balanced delimiters with whitespace' Comment.Single
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"i: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'i'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'i'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'i'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's{foo} '     Literal.String.Regex
'{bar}'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'i'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"j: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'j'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'j'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'j'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's<foo>\t\t'  Literal.String.Regex
'<bar>'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'j'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"k: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'k'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'k'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'k'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
'\n\t'        Text.Whitespace
's(foo)\n\n\t' Literal.String.Regex
'(bar)'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'k'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'# mixed delimiters' Comment.Single
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"l: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'l'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'l'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'l'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's{foo} '     Literal.String.Regex
'<bar>'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'l'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"m: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'm'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'm'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'm'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's(foo) '     Literal.String.Regex
'!bar!'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'm'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"n: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'n'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'n'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'n'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's[foo] '     Literal.String.Regex
'$bar$'       Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'n'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'# /x modifier' Comment.Single
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"o: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'o'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'o'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'o'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's{\n\t\t\t\tfoo\n\t\t\t } ' Literal.String.Regex
'{bar}x'      Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'o'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n\n'        Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'"p: "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'my'          Keyword
' '           Text.Whitespace
'$'           Name.Variable
'p'           Name.Variable
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"foo"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'p'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'" - "'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'$'           Name.Variable
'p'           Name.Variable
' '           Text.Whitespace
'=~'          Operator
' '           Text.Whitespace
's%\n  foo\n  %bar%x' Literal.String.Regex
';'           Punctuation
'\n'          Text.Whitespace

'print'       Keyword
' '           Text.Whitespace
'$'           Name.Variable
'p'           Name.Variable
','           Punctuation
' '           Text.Whitespace
'"\\n"'       Literal.String
';'           Punctuation
'\n'          Text.Whitespace
