File: //usr/lib/python3/dist-packages/pygments/lexers/__pycache__/perl.cpython-38.pyc
U
G�
\} � @ s� d Z ddlZddlmZmZmZmZmZmZm Z m
Z
ddlmZm
Z
mZmZmZmZmZmZ ddlmZ ddgZG dd� de�ZG d d� de�ZdS )
z�
pygments.lexers.perl
~~~~~~~~~~~~~~~~~~~~
Lexers for Perl and related languages.
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�ExtendedRegexLexer�include�bygroups�using�this�default�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation)�shebang_matches� PerlLexer�
Perl6Lexerc 4 @ s� e Zd ZdZdZddgZdddgZdd gZej ej
B Zd
ej
dfdej
dfd
ej
dfdej
dfdej
dfdej
dfdej
dfdej
dfdej
dfdej
dfg
dejfdejfdejfeddd�efdeeeeeee�dfdejfdej
fdej
fd ej
fd!ej
fd"ej
fd#ej
d$fd%ej
d$fd&ej
d$fd'ej
d$fd(ej
fd)ej
d$fd*ej
fd+efed,dd�ejfd-ejjfd.eeeejeeje�fd/ejd0fd1ejjfd2ejjfd3ejd4fd5e j!fd6e j"fd7e j#fd8e j$fd9e j$fd:e j%fd;efd<efd=ej&fd>ej
fd?ej'd@fdAej'dBfdCej'dDfdEej'dFfdGej'fdHeeeej(�fdIeeeej(�fdJeee�dKfedLdd�efdMefdNefdOefdPedQfg1dRej)dfdSej)fgd+efdTedfdUedfdVej(fdWejdfgdXej(dfdYej(dfdWedfdZej*dfd[edfgd\ej+fd+efd]eee�fd^edfd_edfgd`ej'fdaej'fdTej'd@fdbej'dfdcej'fgddej'fdaej'fdeej'dBfdfej'dfdgej'fgdhej'fdaej'fdiej'dDfdjej'dfdkej'fgdlej'fdaej'fdmej'dFfdnej'dfdoej'fgdpejdfgdq�Z,drds� Z-dtS )ur z8
For `Perl <http://www.perl.org>`_ source code.
ZPerl�perlZpl�*.pl�*.pm�*.tztext/x-perlzapplication/x-perlz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*�#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*z \A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cut)Zcase�continue�do�else�elsif�forZforeach�if�last�my�next�our�redo�resetZthen�unless�until�while�print�new�BEGIN�CHECK�INIT�END�returnz\b��suffixz!(format)(\s+)(\w+)(\s*)(=)(\s*\n)�formatz$(eq|lt|gt|le|ge|ne|not|and|or|cmp)\bz:s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z.s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*z+s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*z:s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z:s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*�balanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)��absZaccept�alarm�atan2ZbindZbinmode�bless�caller�chdir�chmod�chomp�chop�chown�chr�chroot�closeZclosedir�connectr �cosZcryptZdbmcloseZdbmopen�defined�delete�die�dump�eachZendgrentZ
endhostentZ endnetentZendprotoentZendpwentZ
endservent�eof�eval�exec�exists�exit�expZfcntl�filenoZflock�forkr2 Zformline�getcZgetgrentZgetgrgidZgetgrnamZ
gethostbyaddrZ
gethostbynameZ
gethostent�getloginZgetnetbyaddrZgetnetbynameZ getnetent�getpeername�getpgrp�getppid�getpriorityZgetprotobynameZgetprotobynumberZgetprotoentZgetpwent�getpwnam�getpwuidZ
getservbynameZ
getservbyportZ
getserventZgetsocknameZ
getsockopt�glob�gmtime�goto�grep�hex�import�index�intZioctl�join�keys�killr �lc�lcfirstZlength�linkZlistenZlocal� localtime�log�lstat�map�mkdirZmsgctlZmsggetZmsgrcvZmsgsndr! r"