1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
!(function (e) {
var n =
'(?:\\((?:[^()\\\\]|\\\\[^])*\\)|\\{(?:[^{}\\\\]|\\\\[^])*\\}|\\[(?:[^[\\]\\\\]|\\\\[^])*\\]|<(?:[^<>\\\\]|\\\\[^])*>)';
e.languages.perl = {
comment: [
{ pattern: /(^\s*)=\w[\s\S]*?=cut.*/m, lookbehind: !0, greedy: !0 },
{ pattern: /(^|[^\\$])#.*/, lookbehind: !0, greedy: !0 },
],
string: [
{
pattern: RegExp(
'\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*(?:' +
[
'([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1',
'([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2',
n,
].join('|') +
')'
),
greedy: !0,
},
{ pattern: /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/, greedy: !0 },
{ pattern: /'(?:[^'\\\r\n]|\\.)*'/, greedy: !0 },
],
regex: [
{
pattern: RegExp(
'\\b(?:m|qr)(?![a-zA-Z0-9])\\s*(?:' +
[
'([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1',
'([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2',
n,
].join('|') +
')[msixpodualngc]*'
),
greedy: !0,
},
{
pattern: RegExp(
'(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*(?:' +
[
'([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[^])*\\2(?:(?!\\2)[^\\\\]|\\\\[^])*\\2',
'([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[^])*\\3(?:(?!\\3)[^\\\\]|\\\\[^])*\\3',
n + '\\s*' + n,
].join('|') +
')[msixpodualngcer]*'
),
lookbehind: !0,
greedy: !0,
},
{
pattern:
/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,
greedy: !0,
},
],
variable: [
/[&*$@%]\{\^[A-Z]+\}/,
/[&*$@%]\^[A-Z_]/,
/[&*$@%]#?(?=\{)/,
/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,
/[&*$@%]\d+/,
/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/,
],
filehandle: { pattern: /<(?![<=])\S*?>|\b_\b/, alias: 'symbol' },
'v-string': { pattern: /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/, alias: 'string' },
function: { pattern: /(\bsub[ \t]+)\w+/, lookbehind: !0 },
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|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,
number:
/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,
operator:
/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,
punctuation: /[{}[\];(),:]/,
};
})(Prism);
|