{"id":"../node_modules/refractor/lang/perl.js","dependencies":[{"name":"/Users/adc/Developer/ayrton/react-key-handler/node_modules/refractor/package.json","includedInParent":true,"mtime":499162500000},{"name":"/Users/adc/Developer/ayrton/react-key-handler/package.json","includedInParent":true,"mtime":1535648238901},{"name":"/Users/adc/Developer/ayrton/react-key-handler/.babelrc","includedInParent":true,"mtime":1535642334213}],"generated":{"js":"'use strict'\n\nmodule.exports = perl\nperl.displayName = 'perl'\nperl.aliases = []\nfunction perl(Prism) {\n  Prism.languages.perl = {\n    comment: [\n      {\n        // POD\n        pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n        lookbehind: true\n      },\n      {\n        pattern: /(^|[^\\\\$])#.*/,\n        lookbehind: true\n      }\n    ],\n    // TODO Could be nice to handle Heredoc too.\n    string: [\n      // q/.../\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // q a...a\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // q(...)\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n        greedy: true\n      },\n      // q{...}\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n        greedy: true\n      },\n      // q[...]\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n        greedy: true\n      },\n      // q<...>\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n        greedy: true\n      },\n      // \"...\", `...`\n      {\n        pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // '...'\n      // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n      {\n        pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n        greedy: true\n      }\n    ],\n    regex: [\n      // m/.../\n      {\n        pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n        greedy: true\n      },\n      // m a...a\n      {\n        pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n        greedy: true\n      },\n      // m(...)\n      {\n        pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n        greedy: true\n      },\n      // m{...}\n      {\n        pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n        greedy: true\n      },\n      // m[...]\n      {\n        pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n        greedy: true\n      },\n      // m<...>\n      {\n        pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n        greedy: true\n      },\n      // The lookbehinds prevent -s from breaking\n      // FIXME We don't handle change of separator like s(...)[...]\n      // s/.../.../\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s a...a...a\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s(...)(...)\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s{...}{...}\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s[...][...]\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s<...><...>\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // /.../\n      // The look-ahead tries to prevent two divisions on\n      // the same line from being highlighted as regex.\n      // This does not support multi-line regex.\n      {\n        pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n        greedy: true\n      }\n    ],\n    // FIXME Not sure about the handling of ::, ', and #\n    variable: [\n      // ${^POSTMATCH}\n      /[&*$@%]\\{\\^[A-Z]+\\}/,\n      // $^V\n      /[&*$@%]\\^[A-Z_]/,\n      // ${...}\n      /[&*$@%]#?(?=\\{)/,\n      // $foo\n      /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i,\n      // $1\n      /[&*$@%]\\d+/,\n      // $_, @_, %!\n      // The negative lookahead prevents from breaking the %= operator\n      /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n    ],\n    filehandle: {\n      // <>, <FOO>, _\n      pattern: /<(?![<=])\\S*>|\\b_\\b/,\n      alias: 'symbol'\n    },\n    vstring: {\n      // v1.2, 1.2.3\n      pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n      alias: 'string'\n    },\n    function: {\n      pattern: /sub [a-z0-9_]+/i,\n      inside: {\n        keyword: /sub/\n      }\n    },\n    keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n    number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n    operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n    punctuation: /[{}[\\];(),:]/\n  }\n}\n","map":{"mappings":[{"source":"../node_modules/refractor/lang/perl.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":2,"column":0},"generated":{"line":2,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":3,"column":0},"generated":{"line":3,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":4,"column":0},"generated":{"line":4,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":5,"column":0},"generated":{"line":5,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":6,"column":0},"generated":{"line":6,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":7,"column":0},"generated":{"line":7,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":8,"column":0},"generated":{"line":8,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":9,"column":0},"generated":{"line":9,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":10,"column":0},"generated":{"line":10,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":11,"column":0},"generated":{"line":11,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":12,"column":0},"generated":{"line":12,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":13,"column":0},"generated":{"line":13,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":14,"column":0},"generated":{"line":14,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":15,"column":0},"generated":{"line":15,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":16,"column":0},"generated":{"line":16,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":17,"column":0},"generated":{"line":17,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":18,"column":0},"generated":{"line":18,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":19,"column":0},"generated":{"line":19,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":20,"column":0},"generated":{"line":20,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":21,"column":0},"generated":{"line":21,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":22,"column":0},"generated":{"line":22,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":23,"column":0},"generated":{"line":23,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":24,"column":0},"generated":{"line":24,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":25,"column":0},"generated":{"line":25,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":26,"column":0},"generated":{"line":26,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":27,"column":0},"generated":{"line":27,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":28,"column":0},"generated":{"line":28,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":29,"column":0},"generated":{"line":29,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":30,"column":0},"generated":{"line":30,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":31,"column":0},"generated":{"line":31,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":32,"column":0},"generated":{"line":32,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":33,"column":0},"generated":{"line":33,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":34,"column":0},"generated":{"line":34,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":35,"column":0},"generated":{"line":35,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":36,"column":0},"generated":{"line":36,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":37,"column":0},"generated":{"line":37,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":38,"column":0},"generated":{"line":38,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":39,"column":0},"generated":{"line":39,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":40,"column":0},"generated":{"line":40,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":41,"column":0},"generated":{"line":41,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":42,"column":0},"generated":{"line":42,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":43,"column":0},"generated":{"line":43,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":44,"column":0},"generated":{"line":44,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":45,"column":0},"generated":{"line":45,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":46,"column":0},"generated":{"line":46,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":47,"column":0},"generated":{"line":47,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":48,"column":0},"generated":{"line":48,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":49,"column":0},"generated":{"line":49,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":50,"column":0},"generated":{"line":50,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":51,"column":0},"generated":{"line":51,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":52,"column":0},"generated":{"line":52,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":53,"column":0},"generated":{"line":53,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":54,"column":0},"generated":{"line":54,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":55,"column":0},"generated":{"line":55,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":56,"column":0},"generated":{"line":56,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":57,"column":0},"generated":{"line":57,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":58,"column":0},"generated":{"line":58,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":59,"column":0},"generated":{"line":59,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":60,"column":0},"generated":{"line":60,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":61,"column":0},"generated":{"line":61,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":62,"column":0},"generated":{"line":62,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":63,"column":0},"generated":{"line":63,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":64,"column":0},"generated":{"line":64,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":65,"column":0},"generated":{"line":65,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":66,"column":0},"generated":{"line":66,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":67,"column":0},"generated":{"line":67,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":68,"column":0},"generated":{"line":68,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":69,"column":0},"generated":{"line":69,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":70,"column":0},"generated":{"line":70,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":71,"column":0},"generated":{"line":71,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":72,"column":0},"generated":{"line":72,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":73,"column":0},"generated":{"line":73,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":74,"column":0},"generated":{"line":74,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":75,"column":0},"generated":{"line":75,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":76,"column":0},"generated":{"line":76,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":77,"column":0},"generated":{"line":77,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":78,"column":0},"generated":{"line":78,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":79,"column":0},"generated":{"line":79,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":80,"column":0},"generated":{"line":80,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":81,"column":0},"generated":{"line":81,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":82,"column":0},"generated":{"line":82,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":83,"column":0},"generated":{"line":83,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":84,"column":0},"generated":{"line":84,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":85,"column":0},"generated":{"line":85,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":86,"column":0},"generated":{"line":86,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":87,"column":0},"generated":{"line":87,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":88,"column":0},"generated":{"line":88,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":89,"column":0},"generated":{"line":89,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":90,"column":0},"generated":{"line":90,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":91,"column":0},"generated":{"line":91,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":92,"column":0},"generated":{"line":92,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":93,"column":0},"generated":{"line":93,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":94,"column":0},"generated":{"line":94,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":95,"column":0},"generated":{"line":95,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":96,"column":0},"generated":{"line":96,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":97,"column":0},"generated":{"line":97,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":98,"column":0},"generated":{"line":98,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":99,"column":0},"generated":{"line":99,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":100,"column":0},"generated":{"line":100,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":101,"column":0},"generated":{"line":101,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":102,"column":0},"generated":{"line":102,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":103,"column":0},"generated":{"line":103,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":104,"column":0},"generated":{"line":104,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":105,"column":0},"generated":{"line":105,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":106,"column":0},"generated":{"line":106,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":107,"column":0},"generated":{"line":107,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":108,"column":0},"generated":{"line":108,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":109,"column":0},"generated":{"line":109,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":110,"column":0},"generated":{"line":110,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":111,"column":0},"generated":{"line":111,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":112,"column":0},"generated":{"line":112,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":113,"column":0},"generated":{"line":113,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":114,"column":0},"generated":{"line":114,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":115,"column":0},"generated":{"line":115,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":116,"column":0},"generated":{"line":116,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":117,"column":0},"generated":{"line":117,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":118,"column":0},"generated":{"line":118,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":119,"column":0},"generated":{"line":119,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":120,"column":0},"generated":{"line":120,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":121,"column":0},"generated":{"line":121,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":122,"column":0},"generated":{"line":122,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":123,"column":0},"generated":{"line":123,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":124,"column":0},"generated":{"line":124,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":125,"column":0},"generated":{"line":125,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":126,"column":0},"generated":{"line":126,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":127,"column":0},"generated":{"line":127,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":128,"column":0},"generated":{"line":128,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":129,"column":0},"generated":{"line":129,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":130,"column":0},"generated":{"line":130,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":131,"column":0},"generated":{"line":131,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":132,"column":0},"generated":{"line":132,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":133,"column":0},"generated":{"line":133,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":134,"column":0},"generated":{"line":134,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":135,"column":0},"generated":{"line":135,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":136,"column":0},"generated":{"line":136,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":137,"column":0},"generated":{"line":137,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":138,"column":0},"generated":{"line":138,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":139,"column":0},"generated":{"line":139,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":140,"column":0},"generated":{"line":140,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":141,"column":0},"generated":{"line":141,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":142,"column":0},"generated":{"line":142,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":143,"column":0},"generated":{"line":143,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":144,"column":0},"generated":{"line":144,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":145,"column":0},"generated":{"line":145,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":146,"column":0},"generated":{"line":146,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":147,"column":0},"generated":{"line":147,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":148,"column":0},"generated":{"line":148,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":149,"column":0},"generated":{"line":149,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":150,"column":0},"generated":{"line":150,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":151,"column":0},"generated":{"line":151,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":152,"column":0},"generated":{"line":152,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":153,"column":0},"generated":{"line":153,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":154,"column":0},"generated":{"line":154,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":155,"column":0},"generated":{"line":155,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":156,"column":0},"generated":{"line":156,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":157,"column":0},"generated":{"line":157,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":158,"column":0},"generated":{"line":158,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":159,"column":0},"generated":{"line":159,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":160,"column":0},"generated":{"line":160,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":161,"column":0},"generated":{"line":161,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":162,"column":0},"generated":{"line":162,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":163,"column":0},"generated":{"line":163,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":164,"column":0},"generated":{"line":164,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":165,"column":0},"generated":{"line":165,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":166,"column":0},"generated":{"line":166,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":167,"column":0},"generated":{"line":167,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":168,"column":0},"generated":{"line":168,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":169,"column":0},"generated":{"line":169,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":170,"column":0},"generated":{"line":170,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":171,"column":0},"generated":{"line":171,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":172,"column":0},"generated":{"line":172,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":173,"column":0},"generated":{"line":173,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":174,"column":0},"generated":{"line":174,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":175,"column":0},"generated":{"line":175,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":176,"column":0},"generated":{"line":176,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":177,"column":0},"generated":{"line":177,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":178,"column":0},"generated":{"line":178,"column":0}},{"source":"../node_modules/refractor/lang/perl.js","original":{"line":179,"column":0},"generated":{"line":179,"column":0}}],"sources":{"../node_modules/refractor/lang/perl.js":"'use strict'\n\nmodule.exports = perl\nperl.displayName = 'perl'\nperl.aliases = []\nfunction perl(Prism) {\n  Prism.languages.perl = {\n    comment: [\n      {\n        // POD\n        pattern: /(^\\s*)=\\w+[\\s\\S]*?=cut.*/m,\n        lookbehind: true\n      },\n      {\n        pattern: /(^|[^\\\\$])#.*/,\n        lookbehind: true\n      }\n    ],\n    // TODO Could be nice to handle Heredoc too.\n    string: [\n      // q/.../\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // q a...a\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // q(...)\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)/,\n        greedy: true\n      },\n      // q{...}\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}/,\n        greedy: true\n      },\n      // q[...]\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]/,\n        greedy: true\n      },\n      // q<...>\n      {\n        pattern: /\\b(?:q|qq|qx|qw)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>/,\n        greedy: true\n      },\n      // \"...\", `...`\n      {\n        pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n        greedy: true\n      },\n      // '...'\n      // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n      {\n        pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n        greedy: true\n      }\n    ],\n    regex: [\n      // m/.../\n      {\n        pattern: /\\b(?:m|qr)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n        greedy: true\n      },\n      // m a...a\n      {\n        pattern: /\\b(?:m|qr)\\s+([a-zA-Z0-9])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1[msixpodualngc]*/,\n        greedy: true\n      },\n      // m(...)\n      {\n        pattern: /\\b(?:m|qr)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngc]*/,\n        greedy: true\n      },\n      // m{...}\n      {\n        pattern: /\\b(?:m|qr)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngc]*/,\n        greedy: true\n      },\n      // m[...]\n      {\n        pattern: /\\b(?:m|qr)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngc]*/,\n        greedy: true\n      },\n      // m<...>\n      {\n        pattern: /\\b(?:m|qr)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngc]*/,\n        greedy: true\n      },\n      // The lookbehinds prevent -s from breaking\n      // FIXME We don't handle change of separator like s(...)[...]\n      // s/.../.../\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s a...a...a\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s+([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s(...)(...)\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)\\s*\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s{...}{...}\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}\\s*\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s[...][...]\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]\\s*\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\][msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // s<...><...>\n      {\n        pattern: /(^|[^-]\\b)(?:s|tr|y)\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>\\s*<(?:[^<>\\\\]|\\\\[\\s\\S])*>[msixpodualngcer]*/,\n        lookbehind: true,\n        greedy: true\n      },\n      // /.../\n      // The look-ahead tries to prevent two divisions on\n      // the same line from being highlighted as regex.\n      // This does not support multi-line regex.\n      {\n        pattern: /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\\b))/,\n        greedy: true\n      }\n    ],\n    // FIXME Not sure about the handling of ::, ', and #\n    variable: [\n      // ${^POSTMATCH}\n      /[&*$@%]\\{\\^[A-Z]+\\}/,\n      // $^V\n      /[&*$@%]\\^[A-Z_]/,\n      // ${...}\n      /[&*$@%]#?(?=\\{)/,\n      // $foo\n      /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+)+(?:::)*/i,\n      // $1\n      /[&*$@%]\\d+/,\n      // $_, @_, %!\n      // The negative lookahead prevents from breaking the %= operator\n      /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n    ],\n    filehandle: {\n      // <>, <FOO>, _\n      pattern: /<(?![<=])\\S*>|\\b_\\b/,\n      alias: 'symbol'\n    },\n    vstring: {\n      // v1.2, 1.2.3\n      pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n      alias: 'string'\n    },\n    function: {\n      pattern: /sub [a-z0-9_]+/i,\n      inside: {\n        keyword: /sub/\n      }\n    },\n    keyword: /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n    number: /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\\d(?:_?\\d)*)?\\.?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n    operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\\b/,\n    punctuation: /[{}[\\];(),:]/\n  }\n}\n"},"lineCount":179}},"hash":"8593ae170c1a6a3fa810ba400ec6fd3a","cacheData":{"env":{}}}