Perl :\ :nm=perl|Perl:\ :fn=.*\.(pl|PL|pm|PM)(\.(BAK|bak|~[0-9]+~)|~)?:\ :cb=#:ce=$:\ :sb=":se="|$:sn=\\$:\ :hb=':he='|$:hn=\\$:\ :pb=\$#:pe=:\ :pb=\${?[#?<$]:pe=:\ :id=(\\.|[^\s\t!;&|<>()`'"$#])*(\\.|[^\s\t!;&|<>()`'"$#\072]):\ :kw= use if elsif unless switch eq ne gt lt ge le \ cmp not and or xor else while for foreach do \ until defined undef and or not bless ref BEGIN END \ my local our goto return last next continue redo chomp \ chop chr crypt index lc lcfirst length ord pack reverse \ rindex sprintf substr uc ucfirst pos quotemeta split study abs \ atan2 cos exp hex int log oct rand sin sqrt \ srand splice unshift shift push pop split join reverse grep \ map sort unpack each exists keys values tie tied carp \ confess croak dbmclose dbmopen die syscall binmode close closedir eof \ fileno getc lstat print printf readdir rewinddir select stat tell \ telldir write fcntl flock ioctl open opendir read seek seekdir \ sysopen sysread sysseek syswrite truncate pack vec chdir chmod chown \ chroot glob link mkdir readlink rename rmdir symlink umask unlink \ utime caller die dump eval exit wantarray require import alarm \ exec fork getpgrp getppid getpriority kill pipe setpgrp setpriority sleep \ system times wait waitpid accept bind connect getpeername getsockname getsockopt \ listen recv send setsockopt shutdown socket socketpair msgctl msgget msgrcv \ msgsnd semctl semget semop shmctl shmget shmread shmwrite endprotoent endservent \ gethostbyaddr gethostbyname gethostent getnetbyaddr getnetbyname getnetent \ getprotobyname getprotobynumber getprotoent getservbyname \ getservbyport getservent sethostent setnetent setprotoent \ setservent getpwuid getpwnam getpwent setpwent \ endpwent getgrent getgrgid gmtime localtime time times warn formline reset \ scalar new delete TODO TBD FIXME XXX contained package sub \