#
=head1
=cut
=head2
=cut
=head3
=cut
=head4
=cut
=item
=cut
=over
=cut
=back
=cut
=pod
=cut
=for
=cut
=begin
=cut
=end
=cut
*"
*'
&"
&'
${
}
\$#?((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
@((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
%((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
\$\$+((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
@\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
%\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
\*((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
\$\^\p{Alpha}
\$\p{Punct}
\\[@%\$&]((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
&{
}
&\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+)
sub\s
{
&\p{Alpha}[\p{Alnum}_]*'\p{Alpha}[\p{Alnum}_]*
"
"
'
'
-[\p{Lower}]\w+
-[\p{Lower}]
\{(?=\s*[\p{Alpha}_\-][\p{Alnum}_]*\s*\})
}
{
}
@{
}
%{
}
:
__\w+__
`
`
<[\p{Punct}\p{Alnum}_]*>
$2
$1
/.*?[^\\]/[cgimosx]*(?!\s*[\d\$\@\(\-])
q(?:|[qrxw])([#\[{(/|])
~1
tr\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*
tr([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*
y\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]*
y([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]*
m\s*\{.*?[^\\]\}[cgimosx]*
m([^\p{Alnum}\p{Space}\}])(?:.*?[^\\])\1[cgimosx]*
s\s*\{.*?\}\s*\{.*?\}[egimosx]*
s([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[egimosx]*
||
&&
!=
<=>
->
=>
==
=~
!~
+=
-=
/=
*=
.=
%=
&=
|=
**=
<<=
>>=
&&=
||=
^=
x=
>=
<=
>
<
|
&
!
=
!
+
-
/
**
*
^
~
{
}
?
:
new
if
until
while
elsif
else
unless
for
foreach
BEGIN
END
cmp
eq
ne
le
ge
not
and
or
xor
x
chomp
chop
chr
crypt
hex
index
lc
lcfirst
length
oct
ord
pack
reverse
rindex
sprintf
substr
uc
ucfirst
pos
quotemeta
split
study
abs
atan2
cos
exp
int
log
rand
sin
sqrt
srand
pop
push
shift
splice
unshift
grep
join
map
sort
unpack
delete
each
exists
keys
values
binmode
close
closedir
dbmclose
dbmopen
eof
fileno
flock
format
getc
print
printf
read
readdir
rewinddir
seek
seekdir
select
syscall
sysread
sysseek
syswrite
tell
telldir
truncate
warn
write
vec
chdir
chmod
chown
chroot
fcntl
glob
ioctl
link
lstat
mkdir
open
opendir
readlink
rename
rmdir
stat
symlink
umask
unlink
utime
caller
continue
die
do
dump
eval
exit
goto
last
next
redo
return
wantarray
local
my
our
package
use
defined
formline
reset
scalar
undef
alarm
exec
fork
getpgrp
getppid
getpriority
kill
pipe
setpgrp
setpriority
sleep
system
times
wait
waitpid
import
no
require
bless
ref
tie
tied
untie
accept
bind
connect
getpeername
getsockname
getsockopt
listen
recv
send
setsockopt
shutdown
socket
socketpair
msgctl
msgget
msgrcv
msgsnd
semctl
semget
semop
shmctl
shmget
shmread
shmwrite
endgrent
endhostent
endnetent
endpwent
getgrent
getgrgid
getgrnam
getlogin
getpwent
getpwnam
getpwuid
setgrent
setpwent
endprotoent
endservent
gethostbyaddr
gethostbyname
gethostent
getnetbyaddr
getnetbyname
getnetent
getprotobyname
getprotobynumber
getprotoent
getservbyname
getservbyport
getservent
sethostent
setnetent
setprotoent
setservent
gmtime
localtime
time
=
${
}
->{
}
$#
$
@{
}
@
%{
}
%
|
&
!
>
<
)
(
=
!
+
-
/
*
^
~
}
{
.
,
;
]
[
?
:
%\d*\.?\d*[dfis]
#
${
}
$#
$
@{
}
@
%{
}
%
{
}
->
)(
#
(
)
$
@
%
&
*
\
([\[{\(])
~1