<?php
/**
 * Perl
 */

$switchHash['$'] = PLUGIN_CODE_ESCAPE;            // $ はエスケープ
$switchHash['\''] = PLUGIN_CODE_NONESCAPE_LITERAL; // ' はエスケープしない文字列リテラル

// コメント定義
$switchHash['#'] = PLUGIN_CODE_COMMENT;	// コメントは # から改行まで (例外あり)
$switchHash['='] = PLUGIN_CODE_COMMENT;	// コメントは =pod から =cut まで
$switchHash['('] = PLUGIN_CODE_COMMENT;	// コメントは (?# から ) まで (正規表現内)
$code_comment = Array(
					  '#' => Array(
								   Array('/^#[^{]/', "\n", 1),
								   ),
					  '=' => Array(
								   Array('/^=pod/', '=cut', 4),
								   ),
					  '(' => Array(
								   Array('/^\(\?#/', ')', 1),
								   )
					  );

// アウトライン用
if($mkoutline){
  $switchHash['{'] = PLUGIN_CODE_BLOCK_START;
  $switchHash['}'] = PLUGIN_CODE_BLOCK_END;
}

$code_css = Array(
  'operator',		// オペレータ関数
  'identifier',	// その他の識別子
  'pragma',		// module, import と pragma
  'system',		// 処理系組み込みの奴 __stdcall とか
  );

$code_keyword = Array(
  //'operator',		// オペレータ関数
  //'identifier',	// その他の識別子
    'lt' => 2,
    'gt' => 2,
    'le' => 2,
    'ge' => 2,
    'eq' => 2,
    'ne' => 2,
    'cmp' => 2,
    'not' => 2,
    'and' => 2,
    'or' => 2,
    'xor' => 2,
    'if' => 2,
    'else' => 2,
    'elsif' => 2,
    'while' => 2,
    'for' => 2,
    'foreach' => 2,
    'continue' => 2,

    'abs' => 2,
    'accept' => 2,
    'alarm' => 2,
    'atan2' => 2,
    'bind' => 2,
    'binmode' => 2,
    'bless' => 2,
    'caller' => 2,
    'chdir' => 2,
    'chmod' => 2,
    'chomp' => 2,
    'chop' => 2,
    'chown' => 2,
    'chr' => 2,
    'chroot' => 2,
    'close' => 2,
    'closedir' => 2,
    'connect' => 2,
    'cos' => 2,
    'crypt' => 2,
    'dbmclose' => 2,
    'dbmopen' => 2,
    'defined' => 2,
    'delete' => 2,
    'die' => 2,
    'do' => 2,
    'dump' => 2,
    'each' => 2,
    'eof' => 2,
    'eval' => 2,
    'exec' => 2,
    'exists' => 2,
    'exit' => 2,
    'exp' => 2,
    'fcntl' => 2,
    'fileno' => 2,
    'flock' => 2,
    'fork' => 2,
    'formline' => 2,
    'getc' => 2,
    'getlogin' => 2,
    'getpeername' => 2,
    'getpgrp' => 2,
    'getppid' => 2,
    'getpriority' => 2,
    'getpwnam' => 2,
    'getgrnam' => 2,
    'gethostbyname' => 2,
    'getnetbyname' => 2,
    'getprotobyname' => 2,
    'getpwuid' => 2,
    'getgrgid' => 2,
    'getservbyname' => 2,
    'gethostbyaddr' => 2,
    'getnetbyaddr' => 2,
    'getprotobynumber' => 2,
    'getservbyport' => 2,
    'getpwent' => 2,
    'getgrent' => 2,
    'gethostent' => 2,
    'getnetent' => 2,
    'getprotoent' => 2,
    'getservent' => 2,
    'setpwent' => 2,
    'setgrent' => 2,
    'sethostent' => 2,
    'setnetent' => 2,
    'setprotoent' => 2,
    'setservent' => 2,
    'endpwent' => 2,
    'endgrent' => 2,
    'endhostent' => 2,
    'endnetent' => 2,
    'endprotoent' => 2,
    'endservent' => 2,
    'getsockname' => 2,
    'getsockopt' => 2,
    'glob' => 2,
    'gmtime' => 2,
    'goto' => 2,
    'grep' => 2,
    'hex' => 2,
    'import' => 2,
    'index' => 2,
    'int' => 2,
    'ioctl' => 2,
    'join' => 2,
    'keys' => 2,
    'kill' => 2,
    'last' => 2,
    'lc' => 2,
    'lcfirst' => 2,
    'length' => 2,
    'link' => 2,
    'listen' => 2,
    'local' => 2,
    'localtime' => 2,
    'log' => 2,
    'lstat' => 2,
    'map' => 2,
    'mkdir' => 2,
    'msgctl' => 2,
    'msgget' => 2,
    'msgrcv' => 2,
    'msgsnd' => 2,
    'my' => 2,
    'next' => 2,
    'no' => 2,
    'oct' => 2,
    'open' => 2,
    'opendir' => 2,
    'ord' => 2,
    'pack' => 2,
    'pipe' => 2,
    'pop' => 2,
    'pos' => 2,
    'print' => 2,
    'printf' => 2,
    'push' => 2,
    'quotemeta' => 2,
    'rand' => 2,
    'read' => 2,
    'readdir' => 2,
    'readlink' => 2,
    'recv' => 2,
    'redo' => 2,
    'ref' => 2,
    'rename' => 2,
    'require' => 2,
    'reset' => 2,
    'return' => 2,
    'reverse' => 2,
    'rewinddir' => 2,
    'rindex' => 2,
    'rmdir' => 2,
    'scalar' => 2,
    'seek' => 2,
    'seekdir' => 2,
    'select' => 2,
    'semctl' => 2,
    'semget' => 2,
    'semop' => 2,
    'send' => 2,
    'setpgrp' => 2,
    'setpriority' => 2,
    'setsockopt' => 2,
    'shift' => 2,
    'shmctl' => 2,
    'shmget' => 2,
    'shmread' => 2,
    'shmwrite' => 2,
    'shutdown' => 2,
    'sin' => 2,
    'sleep' => 2,
    'socket' => 2,
    'socketpair' => 2,
    'sort' => 2,
    'splice' => 2,
    'split' => 2,
    'sprintf' => 2,
    'sqrt' => 2,
    'srand' => 2,
    'stat' => 2,
    'study' => 2,
    'substr' => 2,
    'symlink' => 2,
    'syscall' => 2,
    'sysread' => 2,
    'system' => 2,
    'syswrite' => 2,
    'tell' => 2,
    'telldir' => 2,
    'tie' => 2,
    'time' => 2,
    'times' => 2,
    'truncate' => 2,
    'uc' => 2,
    'ucfirst' => 2,
    'umask' => 2,
    'undef' => 2,
    'unless' => 2,
    'unlink' => 2,
    'unpack' => 2,
    'untie' => 2,
    'unshift' => 2,
    'use' => 2,
    'utime' => 2,
    'values' => 2,
    'vec' => 2,
    'wait' => 2,
    'waitpid' => 2,
    'wantarray' => 2,
    'warn' => 2,
    'write' => 2,
  //'pragma',		// module, import と pragma
  //'system',		// 処理系組み込みの奴 __stdcall とか
  );
?>