1(function(a){if(typeof exports=="object"&&typeof module=="object")a(require("../../lib/codemirror"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror"],a);else a(CodeMirror)})(function(a){"use strict";a.defineMode("perl",function(){var a={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,"if":[1,1],elsif:[1,1],"else":[1,1],"while":[1,1],unless:[1,1],"for":[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,"break":1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,"continue":[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,"default":1,defined:1,"delete":1,die:1,"do":1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,"goto":1,grep:1,hex:1,"import":1,index:1,"int":1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,"new":1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,"package":1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,"return":1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null};var f="string-2";var g=/[goseximacplud]/;function h(a,b,c,d,e){b.chain=null;b.style=null;b.tail=null;b.tokenize=function(a,b){var f=false,g,h=0;while(g=a.next()){if(g===c[h]&&!f){if(c[++h]!==undefined){b.chain=c[h];b.style=d;b.tail=e}else if(e)a.eatWhile(e);b.tokenize=j;return d}f=!f&&g=="\\"}return d};return b.tokenize(a,b)}function i(a,b,c){b.tokenize=function(a,b){if(a.string==c)b.tokenize=j;a.skipToEnd();return"string"};return b.tokenize(a,b)}function j(j,k){if(j.eatSpace())return null;if(k.chain)return h(j,k,k.chain,k.style,k.tail);if(j.match(/^\-?[\d\.]/,false))if(j.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))return"number";if(j.match(/^<<(?=\w)/)){j.eatWhile(/\w/);return i(j,k,j.current().substr(2))}if(j.sol()&&j.match(/^\=item(?!\w)/)){return i(j,k,"=cut")}var l=j.next();if(l=='"'||l=="'"){if(c(j,3)=="<<"+l){var m=j.pos;j.eatWhile(/\w/);var n=j.current().substr(1);if(n&&j.eat(l))return i(j,k,n);j.pos=m}return h(j,k,[l],"string")}if(l=="q"){var o=b(j,-2);if(!(o&&/\w/.test(o))){o=b(j,0);if(o=="x"){o=b(j,1);if(o=="("){e(j,2);return h(j,k,[")"],f,g)}if(o=="["){e(j,2);return h(j,k,["]"],f,g)}if(o=="{"){e(j,2);return h(j,k,["}"],f,g)}if(o=="<"){e(j,2);return h(j,k,[">"],f,g)}if(/[\^'"!~\/]/.test(o)){e(j,1);return h(j,k,[j.eat(o)],f,g)}}else if(o=="q"){o=b(j,1);if(o=="("){e(j,2);return h(j,k,[")"],"string")}if(o=="["){e(j,2);return h(j,k,["]"],"string")}if(o=="{"){e(j,2);return h(j,k,["}"],"string")}if(o=="<"){e(j,2);return h(j,k,[">"],"string")}if(/[\^'"!~\/]/.test(o)){e(j,1);return h(j,k,[j.eat(o)],"string")}}else if(o=="w"){o=b(j,1);if(o=="("){e(j,2);return h(j,k,[")"],"bracket")}if(o=="["){e(j,2);return h(j,k,["]"],"bracket")}if(o=="{"){e(j,2);return h(j,k,["}"],"bracket")}if(o=="<"){e(j,2);return h(j,k,[">"],"bracket")}if(/[\^'"!~\/]/.test(o)){e(j,1);return h(j,k,[j.eat(o)],"bracket")}}else if(o=="r"){o=b(j,1);if(o=="("){e(j,2);return h(j,k,[")"],f,g)}if(o=="["){e(j,2);return h(j,k,["]"],f,g)}if(o=="{"){e(j,2);return h(j,k,["}"],f,g)}if(o=="<"){e(j,2);return h(j,k,[">"],f,g)}if(/[\^'"!~\/]/.test(o)){e(j,1);return h(j,k,[j.eat(o)],f,g)}}else if(/[\^'"!~\/(\[{<]/.test(o)){if(o=="("){e(j,1);return h(j,k,[")"],"string")}if(o=="["){e(j,1);return h(j,k,["]"],"string")}if(o=="{"){e(j,1);return h(j,k,["}"],"string")}if(o=="<"){e(j,1);return h(j,k,[">"],"string")}if(/[\^'"!~\/]/.test(o)){return h(j,k,[j.eat(o)],"string")}}}}if(l=="m"){var o=b(j,-2);if(!(o&&/\w/.test(o))){o=j.eat(/[(\[{<\^'"!~\/]/);if(o){if(/[\^'"!~\/]/.test(o)){return h(j,k,[o],f,g)}if(o=="("){return h(j,k,[")"],f,g)}if(o=="["){return h(j,k,["]"],f,g)}if(o=="{"){return h(j,k,["}"],f,g)}if(o=="<"){return h(j,k,[">"],f,g)}}}}if(l=="s"){var o=/[\/>\]})\w]/.test(b(j,-2));if(!o){o=j.eat(/[(\[{<\^'"!~\/]/);if(o){if(o=="[")return h(j,k,["]","]"],f,g);if(o=="{")return h(j,k,["}","}"],f,g);if(o=="<")return h(j,k,[">",">"],f,g);if(o=="(")return h(j,k,[")",")"],f,g);return h(j,k,[o,o],f,g)}}}if(l=="y"){var o=/[\/>\]})\w]/.test(b(j,-2));if(!o){o=j.eat(/[(\[{<\^'"!~\/]/);if(o){if(o=="[")return h(j,k,["]","]"],f,g);if(o=="{")return h(j,k,["}","}"],f,g);if(o=="<")return h(j,k,[">",">"],f,g);if(o=="(")return h(j,k,[")",")"],f,g);return h(j,k,[o,o],f,g)}}}if(l=="t"){var o=/[\/>\]})\w]/.test(b(j,-2));if(!o){o=j.eat("r");if(o){o=j.eat(/[(\[{<\^'"!~\/]/);if(o){if(o=="[")return h(j,k,["]","]"],f,g);if(o=="{")return h(j,k,["}","}"],f,g);if(o=="<")return h(j,k,[">",">"],f,g);if(o=="(")return h(j,k,[")",")"],f,g);return h(j,k,[o,o],f,g)}}}}if(l=="`"){return h(j,k,[l],"variable-2")}if(l=="/"){if(!/~\s*$/.test(c(j)))return"operator";else return h(j,k,[l],f,g)}if(l=="$"){var m=j.pos;if(j.eatWhile(/\d/)||j.eat("{")&&j.eatWhile(/\d/)&&j.eat("}"))return"variable-2";else j.pos=m}if(/[$@%]/.test(l)){var m=j.pos;if(j.eat("^")&&j.eat(/[A-Z]/)||!/[@$%&]/.test(b(j,-2))&&j.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var o=j.current();if(a[o])return"variable-2"}j.pos=m}if(/[$@%&]/.test(l)){if(j.eatWhile(/[\w$\[\]]/)||j.eat("{")&&j.eatWhile(/[\w$\[\]]/)&&j.eat("}")){var o=j.current();if(a[o])return"variable-2";else return"variable"}}if(l=="#"){if(b(j,-2)!="$"){j.skipToEnd();return"comment"}}if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(l)){var m=j.pos;j.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/);if(a[j.current()])return"operator";else j.pos=m}if(l=="_"){if(j.pos==1){if(d(j,6)=="_END__"){return h(j,k,["\0"],"comment")}else if(d(j,7)=="_DATA__"){return h(j,k,["\0"],"variable-2")}else if(d(j,7)=="_C__"){return h(j,k,["\0"],"string")}}}if(/\w/.test(l)){var m=j.pos;if(b(j,-2)=="{"&&(b(j,0)=="}"||j.eatWhile(/\w/)&&b(j,0)=="}"))return"string";else j.pos=m}if(/[A-Z]/.test(l)){var p=b(j,-2);var m=j.pos;j.eatWhile(/[A-Z_]/);if(/[\da-z]/.test(b(j,0))){j.pos=m}else{var o=a[j.current()];if(!o)return"meta";if(o[1])o=o[0];if(p!=":"){if(o==1)return"keyword";else if(o==2)return"def";else if(o==3)return"atom";else if(o==4)return"operator";else if(o==5)return"variable-2";else return"meta"}else return"meta"}}if(/[a-zA-Z_]/.test(l)){var p=b(j,-2);j.eatWhile(/\w/);var o=a[j.current()];if(!o)return"meta";if(o[1])o=o[0];if(p!=":"){if(o==1)return"keyword";else if(o==2)return"def";else if(o==3)return"atom";else if(o==4)return"operator";else if(o==5)return"variable-2";else return"meta"}else return"meta"}return null}return{startState:function(){return{tokenize:j,chain:null,style:null,tail:null}},token:function(a,b){return(b.tokenize||j)(a,b)},lineComment:"#"}});a.registerHelper("wordChars","perl",/[\w$]/);a.defineMIME("text/x-perl","perl");function b(a,b){return a.string.charAt(a.pos+(b||0))}function c(a,b){if(b){var c=a.pos-b;return a.string.substr(c>=0?c:0,b)}else{return a.string.substr(0,a.pos-1)}}function d(a,b){var c=a.string.length;var d=c-a.pos+1;return a.string.substr(a.pos,b&&b<c?b:d)}function e(a,b){var c=a.pos+b;var d;if(c<=0)a.pos=0;else if(c>=(d=a.string.length-1))a.pos=d;else a.pos=c}});
2//# sourceMappingURL=perl.min.js.map