namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ディレクトリによる検索対象の指定
- From: Koji Kishi <kis@xxxxxxxxxxxxxxxxx>
- Date: Fri, 16 Oct 1998 19:23:57 +0900
- X-ml-name: namazu
- X-mail-count: 01352
岸です。
にたようなこと考える人はやっぱりいるんですね。
> ちょださーですが,
> :
> みたいにしてたりします.もうちょっとましなコードをどなたか
> おくんなまし.
だささのれべるは同じですが、perl ででっちあげたものです。
name=path の value で対象となるパスを指定できます。
以外と速いぞ。
#!/usr/local/bin/perl
$cmd_namazu = './namazu';
# QUERY_STRING から path= を分離する
foreach $s (split(/\&/, $ENV{'QUERY_STRING'})) {
if ($s =~ /^path\=/) {
$path = $';
} else {
push(@q, $s);
}
}
# QUERY_STRING の key= に path をくっつける
if ($path =~ /\S/) {
foreach $q (@q) {
last if ($q =~ s/^key\=/key\=\%2Bpath:$path+\%26+/);
}
}
$ENV{'QUERY_STRING'} = join('&', @q);
$path =~ s/%([\da-fA-F]{2})/chr(hex($1))/eg;
# なまずにわたす
open(IN, "$cmd_namazu |") || die "Can't exec $cmd_namazu";
$in = join('', <IN>);
close(IN);
# なまずの出力をちょちょいといじる
if ($path =~ /\S/) {
$in =~ s/(<form.*?\>)/$1\n<input type=\"hidden\" name=\"path\" value=\"$path\">/io;
$in =~ s/VALUE\=\"\+path:$path \& /VALUE\=\"/o;
}
print $in;
exit 0;
--
ソニー株式会社 映像ソフトセンター ホームページ室 岸 康司
kis@xxxxxxxxxxxxxxxxx || kis@xxxxxxxxx