HTML::ColorKeywords を使って chalow の検索をハイライトする

  HTML::ColorKeywords が便利だったので chalow の検索 cgi である clsearch.cgi に色を付けてみた.
  clsearch.cgi はシンプルモードでは黄色のハイライトが付くが,アイテムモードでは付かないので,
  とりあえずアイテムモードでもハイライトするパッチ.

  clsearch.cgi と同じディレクトリに HTML/ColorKeywords.pm を置いておく.

--- clsearch.cgi-orig   2005-01-13 01:34:28.000000000 +0100
+++ clsearch.cgi        2006-02-12 00:25:49.374442000 +0100
@@ -2,6 +2,7 @@
 # $Id: clsearch.cgi,v 1.22 2005/01/13 00:34:28 yto Exp $
 # clsearch.cgi - chalow により HTML 化された ChangeLog を検索する CGI
 use strict;
+use HTML::ColorKeywords;

 ### User Setting from here
 # お好みにあわせて変えて下さい
@@ -66,6 +67,7 @@
 # ■■■ 検索 ■■■
 my $outstr = "";
 my $cnt = 0;
+my @keys;


 sub clean {
@@ -80,7 +82,7 @@
     $key =~ s/\s+$//;
     $key =~ s/^\s+//;

-    my @keys = ($key =~ /(".+?"|\S+)/g);
+    @keys = ($key =~ /(".+?"|\S+)/g);
 #    @keys = map {s/^"(.+)"$/$1/; s/(.)/'\x'.unpack("H2", $1)/gie; $_;} @keys;
     @keys = map {s/^"(.+)"$/$1/; $_;} @keys;

@@ -149,6 +151,10 @@
 }


+if ($mode == 1) { # アイテムモード
+    my $c = HTML::ColorKeywords->new();
+    $c->do(keys => \@keys, string => \$outstr);
+}

 # ■■■ 過去記事表示のための選択棒 ■■■
 my $page_max = int(($cnt - 1) / $numnum);