
my $color = {} ;

my $color_class =
	{
	compile                  => ['black', 'white'],
	reserved_words           => ['default_bg', 'default_fg'],
	reserved_words_1         => ['default_bg', 'dark_red'],
	reserved_words_2         => ['dark_yellow', 'blue'],
	equal_connect            => ['white', 'blue'],
	negativ_equal_connect    => ['white', 'red'],
	'package'                => ['red', 'white'],
	include_commands         => ['blue', 'white'],
	built_in                 => ['default_bg', 'blue'],
	built_in_special         => ['default_bg', 'red'],
	escaped_trn              => ['pastel_blue', 'dark_blue'],
	case_modifier            => ['blue', 'yellow'],
	case_modifier_end        => ['red', 'white'],
	reserved_words_flow      => ['default_bg', 'very_dark_green'],
	reserved_words_flow_warn => ['DarkGreen', 'white'],
	reserved_words_horrors   => ['red', 'default_fg'],
	penalty_variables        => ['red', 'yellow'],
	true                     => ['default_bg', 'DarkGreen'],
	false                    => ['default_bg', 'very_dark_red'],
	special_escaped_char     => ['pastel_turquoise', 'black'],
	special_escaped_char_2   => ['violet', 'red'],
	unix_file_test           => ['yellow', 'DarkGreen'],
	object                   => ['french_blue', 'white'],
	'tie'                    => ['blue', 'white'],
	high_visibility          => ['orange', 'white'],
	'eval'                   => ['yellow', 'red'],
	reference                => ['cyan', 'black'],
	quote_regex              => ['orange', 'blue'],
	regex                    => ['pastel_blue', 'blue'],
	record_separator         => ['pastel_blue', 'blue'],
	'warn'                   => ['red', 'white'],
	'use'                    => ['green', 'black'],
	modules                  => ['honeydew', 'black'],
	Exporter_autoload        => ['honeydew', 'black'],
	Carp                     => ['grey100', 'dark_green'],
	deprecated               => ['brown', 'cyan'],
	DynaLoader               => ['red', 'yellow']
	} ;

my $keyword_color_class =
	{
	DynaLoader                     => 'DynaLoader',
	carp                           =>'Carp',
	cluck                          =>'Carp',
	croak                          =>'Carp',
	confess                        =>'Carp',
	'$MULTILINE_MATCHING'          =>'deprecated',
	'$*'                           =>'deprecated',
	use                            =>'use',
	attributes                     =>'use',
	autouse                        =>'use',
	blib                           =>'use',
	bytes                          =>'use',
	charnames                      =>'use',
	constant                       =>'use',
	diagnostics                    =>'use',
	filetest                       =>'use',
	integer                        =>'use',
	less                           =>'use',
	lib                            =>'use',
	locale                         =>'use',
	ops                            =>'use',
	perllocal                      =>'use',
	re                             =>'use',
	sigtrap                        =>'use',
	strict                         =>'use',
	subs                           =>'use',
	vars                           =>'use',
	utf8                           =>'use',
	warnings                       =>'use',
	Dumpvalue                      =>'modules',
	Devel                          =>'modules',
	TraceFuncs                     =>'modules',
	Data                           =>'modules',
	Dumper                         =>'modules',
	Parse                          =>'modules',
	RecDescent                     =>'modules',
	Benchmark                      =>'modules',
	Carp                           =>'modules',
	Exporter                       =>'Exporter_autoload',
	'@EXPORT'                      =>'Exporter_autoload',
	'%EXPORT_TAGS'                 =>'Exporter_autoload',
	'@EXPORT_OK'                   =>'Exporter_autoload',
	AutoLoader                     =>'Exporter_autoload',
	ref                            =>'reference',
	no                             =>'warn',
	close                          =>'warn',
	unlink                         =>'warn',
	rename                         =>'warn',
	pos                            =>'regex',
	quotemeta                      =>'regex',
	split                          =>'regex',
	study                          =>'regex',
	eval                           =>'eval',
	system                         =>'eval',
	exec                           =>'red',
	scalar                         =>'high_visibility',
	sub                            =>'high_visibility',
	locked                         =>'high_visibility',
	method                         =>'high_visibility',
	'%ENV'                         =>'high_visibility',
	'%SIG'                         =>'high_visibility',
	AUTOLOAD                       =>'high_visibility',
	'$AUTOLOAD'                    =>'high_visibility',
	INIT                           =>'high_visibility',
	CHECK                          =>'high_visibility',
	CORE                           =>'high_visibility',
	STDIN                          =>'high_visibility',
	bless                          =>'object',
	'$self'                        =>'object',
	'$this'                        =>'object',
	'@ISA'                         =>'object',
	new                            =>'object',
	DESTROY                        =>'object',
	SUPER                          =>'object',
	UNIVERSAL                      =>'object',
	isa                            =>'object',
	can                            =>'object',
	VERSION                        =>'object',
	fields                         =>'object',
	base                           =>'object',
	overload                       =>'object',
	private                        =>'object',
	protected                      =>'object',
	public                         =>'object',
	TIESCALAR                      =>'tie',
	TIEARRAY                       =>'tie',
	TIEHASH                        =>'tie',
	TIEHANDLE                      =>'tie',
	FETCH                          =>'tie',
	STORE                          =>'tie',
	STORESIZE                      =>'tie',
	FETCHSIZE                      =>'tie',
	CLEAR                          =>'tie',
	EXTEND                         =>'tie',
	POP                            =>'tie',
	PUSH                           =>'tie',
	SHIFT                          =>'tie',
	UNSHIFT                        =>'tie',
	SPLICE                         =>'tie',
	DELETE                         =>'tie',
	EXISTS                         =>'tie',
	FIRSTKEY                       =>'tie',
	NEXTKEY                        =>'tie',
	PRINT                          =>'tie',
	PRINTF                         =>'tie',
	WRITE                          =>'tie',
	READLINE                       =>'tie',
	GETC                           =>'tie',
	READ                           =>'tie',
	BINMODE                        =>'tie',
	OPEN                           =>'tie',
	CLOSE                          =>'tie',
	EOF                            =>'tie',
	FILENO                         =>'tie',
	SEEK                           =>'tie',
	TELL                           =>'tie',
	'-C'                           =>'unix_file_test',
	package                        =>'package',
	'__PACKAGE__'                  =>'package',
	'__END__'                      =>'package',
	'__DATA__'                     =>'package',
	DATA                           =>'package',
	'__FILE__'                     =>'package',
	'__LINE__'                     =>'package',
	import                         =>'include_commands',
	require                        =>'include_commands',
	'\W'                           =>'special_escaped_char',
	'\w'                           =>'special_escaped_char',
	'\s'                           =>'special_escaped_char',
	'\S'                           =>'special_escaped_char',
	'\d'                           =>'special_escaped_char',
	'\b'                           =>'special_escaped_char',
	'\B'                           =>'special_escaped_char',
	'\1'                           =>'special_escaped_char',
	'\2'                           =>'special_escaped_char',
	'\3'                           =>'special_escaped_char',
	'\4'                           =>'special_escaped_char',
	'\5'                           =>'special_escaped_char',
	'\6'                           =>'special_escaped_char',
	'\7'                           =>'special_escaped_char',
	'\8'                           =>'special_escaped_char',
	'\9'                           =>'special_escaped_char',
	'\G'                           =>'special_escaped_char_2',
	'\D'                           =>'special_escaped_char_2',
	'\A'                           =>'special_escaped_char_2',
	'\Z'                           =>'special_escaped_char_2',
	BEGIN                          =>'compile',
	END                            =>'compile',
	'@_'                           => 'reserved_words_1',
	'$_'                           => 'reserved_words_1',
	'$1'                           => 'reserved_words_1',
	'$2'                           => 'reserved_words_1',
	'$3'                           => 'reserved_words_1',
	'$4'                           => 'reserved_words_1',
	'$5'                           => 'reserved_words_1',
	'$6'                           => 'reserved_words_1',
	'$7'                           => 'reserved_words_1',
	'$8'                           => 'reserved_words_1',
	'$9'                           => 'reserved_words_1',
	'${1}'                         => 'reserved_words_1',
	'${2}'                         => 'reserved_words_1',
	'${3}'                         => 'reserved_words_1',
	'${4}'                         => 'reserved_words_1',
	'${5}'                         => 'reserved_words_1',
	'${6}'                         => 'reserved_words_1',
	'${7}'                         => 'reserved_words_1',
	'${8}'                         => 'reserved_words_1',
	'${9}'                         => 'reserved_words_1',
	'$+'                           => 'reserved_words_1',
	'$LAST_PAREN_MATCH'            => 'reserved_words_1',
	'\u'                           => 'case_modifier',
	'\l'                           => 'case_modifier',
	'\U'                           => 'case_modifier',
	'\L'                           => 'case_modifier',
	'\E'                           => 'case_modifier_end',
	'\Q'                           => 'quote_regex',
	'\n'                           => 'escaped_trn',
	'\t'                           => 'escaped_trn',
	'\r'                           => 'escaped_trn',
	'$INPUT_RECORD_SEPARATOR'      => 'record_separator',
	'$RS'                          => 'record_separator',
	'$/'                           => 'record_separator',
	'$INPUT_LINE_NUMBER'           => 'reserved_words_2',
	'$NR'                          => 'reserved_words_2',
	'$OUTPUT_AUTOFLUSH'            => 'reserved_words_2',
	'$OUTPUT_FIELD_SEPARATOR'      => 'reserved_words_2',
	'$OFS'                         => 'reserved_words_2',
	'$OUTPUT_RECORD_SEPARATOR'     => 'reserved_words_2',
	'$ORS'                         => 'reserved_words_2',
	'$LIST_SEPARATOR'              => 'reserved_words_2',
	'$SUBSCRIPT_SEPARATOR'         => 'reserved_words_2',
	'$SUBSEP'                      => 'reserved_words_2',
	'$OFMT'                        => 'reserved_words_2',
	'$FORMAT_PAGE_NUMBER'          => 'reserved_words_2',
	'$FORMAT_LINES_PER_PAGE'       => 'reserved_words_2',
	'$FORMAT_LINES_LEFT'           => 'reserved_words_2',
	'$FORMAT_NAME'                 => 'reserved_words_2',
	'$FORMAT_TOP_NAME'             => 'reserved_words_2',
	'$FORMAT_LINE_BREAK_CHARACTERS'=> 'reserved_words_2',
	'$FORMAT_FORMFEED'             => 'reserved_words_2',
	'$ACCUMULATOR'                 => 'reserved_words_2',
	'$CHILD_ERROR'                 => 'reserved_words_2',
	'$OS_ERROR'                    => 'reserved_words_2',
	'$ERRNO'                       => 'reserved_words_2',
	'$EVAL_ERROR'                  => 'reserved_words_2',
	'$PROCESS_ID'                  => 'reserved_words_2',
	'$PID'                         => 'reserved_words_2',
	'$REAL_USER_ID'                => 'reserved_words_2',
	'$UID'                         => 'reserved_words_2',
	'$EFFECTIVE_USER_ID'           => 'reserved_words_2',
	'$EUID'                        => 'reserved_words_2',
	'$REAL_GROUP_ID'               => 'reserved_words_2',
	'$GID'                         => 'reserved_words_2',
	'$EFFECTIVE_GROUP_ID'          => 'reserved_words_2',
	'$EGID'                        => 'reserved_words_2',
	'$PROGRAM_NAME'                => 'reserved_words_2',
	'$0'                           => 'reserved_words_2',
	'$PERL_VERSION'                => 'reserved_words_2',
	'$DEBUGGING'                   => 'reserved_words_2',
	'$SYSTEM_FD_MAX'               => 'reserved_words_2',
	'$INPLACE_EDIT'                => 'reserved_words_2',
	'$PERLDB'                      => 'reserved_words_2',
	'$BASETIME'                    => 'reserved_words_2',
	'$WARNING'                     => 'reserved_words_2',
	'$EXECUTABLE_NAME'             => 'reserved_words_2',
	'$ARG'                         => 'reserved_words_2',
	'@ARGV'                        => 'reserved_words_2',
	'@INC'                         => 'reserved_words_2',
	'%INC'                         => 'reserved_words_2',
	'$PREMATCH'                    => 'penalty_variables',
	'$MATCH'                       => 'penalty_variables',
	'$POSTMATCH'                   => 'penalty_variables',
	'$&'                           => 'penalty_variables',
	'$`'                           => 'penalty_variables',
	'$\''                          => 'penalty_variables',
	'$a'                           => 'reserved_words_2',
	'$b'                           => 'reserved_words_2',
	'$.'                           => 'reserved_words_2',
	'$|'                           => 'reserved_words_2',
	'$,'                           => 'reserved_words_2',
	'$\\'                          => 'reserved_words_2',
	'$"'                           => 'reserved_words_2',
	'$;'                           => 'reserved_words_2',
	'$%'                           => 'reserved_words_2',
	'$='                           => 'reserved_words_2',
	'$-'                           => 'reserved_words_2',
	'$~'                           => 'reserved_words_2',
	'$^'                           => 'reserved_words_2',
	'$:'                           => 'reserved_words_2',
	'$^L'                          => 'reserved_words_2',
	'$^A'                          => 'reserved_words_2',
	'$?'                           => 'reserved_words_2',
	'$!'                           => 'reserved_words_2',
	'$@'                           => 'reserved_words_2',
	'$$'                           => 'reserved_words_2',
	'$<'                           => 'reserved_words_2',
	'$>'                           => 'reserved_words_2',
	'$('                           => 'reserved_words_2',
	'$)'                           => 'reserved_words_2',
	'$0'                           => 'reserved_words_2',
	'$['                           => 'reserved_words_2',
	'$]'                           => 'reserved_words_2',
	'$^D'                          => 'reserved_words_2',
	'$^F'                          => 'reserved_words_2',
	'$^I'                          => 'reserved_words_2',
	'$^P'                          => 'reserved_words_2',
	'$^T'                          => 'reserved_words_2',
	'$^W'                          => 'reserved_words_2',
	'$^X'                          => 'reserved_words_2',
	'$^O'                          => 'reserved_words_2',
	'$ENV'                         => 'reserved_words_2',
	'$SIG'                         => 'reserved_words_2',
	'$ARGV'                        => 'reserved_words_2',
	gt                             =>'equal_connect',
	ge                             =>'equal_connect',
	cmp                            =>'equal_connect',
	eq                             =>'equal_connect',
	'=='                           =>'equal_connect',
	'=~'                           =>'equal_connect',
	lt                             =>'negativ_equal_connect',
	le                             =>'negativ_equal_connect',
	ne                             =>'negativ_equal_connect',
	'!='                           =>'negativ_equal_connect',
	'!~'                           =>'negativ_equal_connect',
	warn                           =>'built_in_special',
	kill                           =>'built_in_special',
	die                            =>'built_in_special',
	undef                          =>'built_in_special',
	delete                         =>'built_in_special',
	exit                           =>'built_in_special',
	truncate                       =>'built_in_special',
	rmdir                          =>'built_in_special',
	abs                            =>'built_in',
	accept                         =>'built_in',
	alarm                          =>'built_in',
	atan                           =>'built_in',
	bind                           =>'built_in',
	binmode                        =>'built_in',
	caller                         =>'built_in',
	chdir                          =>'built_in',
	chmod                          =>'built_in',
	chomp                          =>'built_in',
	chop                           =>'built_in',
	chown                          =>'built_in',
	chr                            =>'built_in',
	chroot                         =>'built_in',
	closedir                       =>'built_in',
	connect                        =>'built_in',
	cos                            =>'built_in',
	crypt                          =>'built_in',
	dbmclose                       =>'built_in',
	dbmopen                        =>'built_in',
	defined                        =>'built_in',
	dump                           =>'built_in',
	each                           =>'built_in',
	endgrent                       =>'built_in',
	endhostent                     =>'built_in',
	endnetent                      =>'built_in',
	endprotoent                    =>'built_in',
	endpwent                       =>'built_in',
	endservent                     =>'built_in',
	eof                            =>'built_in',
	exists                         =>'built_in',
	exp                            =>'built_in',
	fcntl                          =>'built_in',
	fileno                         =>'built_in',
	fork                           =>'built_in',
	formline                       =>'built_in',
	getc                           =>'built_in',
	getgrent                       =>'built_in',
	getgrgid                       =>'built_in',
	getgrnam                       =>'built_in',
	gethostbyaddr                  =>'built_in',
	gethostbyname                  =>'built_in',
	gethostent                     =>'built_in',
	getlogin                       =>'built_in',
	getnetbyaddr                   =>'built_in',
	getnetbyname                   =>'built_in',
	getnetent                      =>'built_in',
	getpeername                    =>'built_in',
	getpgrp                        =>'built_in',
	getppid                        =>'built_in',
	getpriority                    =>'built_in',
	getprotobyname                 =>'built_in',
	getprotobynumber               =>'built_in',
	getprotoent                    =>'built_in',
	getpwent                       =>'built_in',
	getpwnam                       =>'built_in',
	getpwuid                       =>'built_in',
	getservbyname                  =>'built_in',
	getservbyport                  =>'built_in',
	getservent                     =>'built_in',
	getsockname                    =>'built_in',
	getsockopt                     =>'built_in',
	glob                           =>'built_in',
	gmtime                         =>'built_in',
	grep                           =>'built_in',
	hex                            =>'built_in',
	index                          =>'built_in',
	int                            =>'built_in',
	ioctl                          =>'built_in',
	join                           =>'built_in',
	keys                           =>'built_in',
	lc                             =>'built_in',
	lcfirst                        =>'built_in',
	length                         =>'built_in',
	link                           =>'built_in',
	listen                         =>'built_in',
	localtime                      =>'built_in',
	log                            =>'built_in',
	lstat                          =>'built_in',
	map                            =>'built_in',
	mkdir                          =>'built_in',
	msgctl                         =>'built_in',
	msgget                         =>'built_in',
	msgrcv                         =>'built_in',
	msgsnd                         =>'built_in',
	my                             =>'built_in',
	our                            =>'built_in',
	oct                            =>'built_in',
	open                           =>'built_in',
	opendir                        =>'built_in',
	ord                            =>'built_in',
	pack                           =>'built_in',
	pipe                           =>'built_in',
	pop                            =>'built_in',
	print                          =>'built_in',
	printf                         =>'built_in',
	push                           =>'built_in',
	rand                           =>'built_in',
	read                           =>'built_in',
	readdir                        =>'built_in',
	readlink                       =>'built_in',
	recv                           =>'built_in',
	reset                          =>'built_in',
	return                         =>'built_in',
	reverse                        =>'built_in',
	rewinddir                      =>'built_in',
	rindex                         =>'built_in',
	seek                           =>'built_in',
	seekdir                        =>'built_in',
	select                         =>'built_in',
	semctl                         =>'built_in',
	semget                         =>'built_in',
	semop                          =>'built_in',
	send                           =>'built_in',
	setgrent                       =>'built_in',
	sethostent                     =>'built_in',
	setnetent                      =>'built_in',
	setpgrp                        =>'built_in',
	setpriority                    =>'built_in',
	setprotoent                    =>'built_in',
	setpwent                       =>'built_in',
	setservent                     =>'built_in',
	setsockopt                     =>'built_in',
	shift                          =>'built_in',
	shmctl                         =>'built_in',
	shmget                         =>'built_in',
	shmread                        =>'built_in',
	shmwrite                       =>'built_in',
	shutdown                       =>'built_in',
	sin                            =>'built_in',
	sleep                          =>'built_in',
	socket                         =>'built_in',
	socketpair                     =>'built_in',
	sort                           =>'built_in',
	splice                         =>'built_in',
	sprintf                        =>'built_in',
	sqrt                           =>'built_in',
	srand                          =>'built_in',
	stat                           =>'built_in',
	substr                         =>'built_in',
	symlink                        =>'built_in',
	syscall                        =>'built_in',
	sysread                        =>'built_in',
	syswrite                       =>'built_in',
	tell                           =>'built_in',
	telldir                        =>'built_in',
	tie                            =>'built_in',
	time                           =>'built_in',
	times                          =>'built_in',
	uc                             =>'built_in',
	ucfirst                        =>'built_in',
	umask                          =>'built_in',
	unpack                         =>'built_in',
	unshift                        =>'built_in',
	untie                          =>'built_in',
	utime                          =>'built_in',
	values                         =>'built_in',
	vec                            =>'built_in',
	wait                           =>'built_in',
	waitpid                        =>'built_in',
	wantarray                      =>'built_in',
	write                          =>'built_in',
	goto                           =>'reserved_words_horrors',
	next                           =>'reserved_words_flow_warn',
	last                           =>'reserved_words_flow_warn',
	redo                           =>'reserved_words_flow_warn',
	SWITCH                         =>'reserved_words_flow_warn',
	'{'                            =>'reserved_words_flow',
	'}'                            =>'reserved_words_flow',
	for                            =>'reserved_words_flow',
	foreach                        =>'reserved_words_flow',
	continue                       =>'reserved_words_flow',
	if                             =>'reserved_words_flow',
	else                           =>'reserved_words_flow',
	elsif                          =>'reserved_words_flow',
	unless                         =>'reserved_words_flow',
	do                             =>'reserved_words_flow',
	while                          =>'reserved_words_flow',
	until                          =>'reserved_words_flow',
	true                           =>'true',
	TRUE                           =>'true',
	false                          =>'false',
	FALSE                          =>'false',
	} ;

return ($color, $color_class, $keyword_color_class) ;
