--- tctsearch-pl.cgi 2009/07/21 12:32:05 1 +++ tctsearch-pl.cgi 2009/07/21 13:09:16 3 @@ -5,9 +5,11 @@ use CGI; use TokyoCabinet; -use constant { - DBPATH => "/home/mikio/casket.tct", -}; +my @dbs = sort map { my $t = $_; $t =~ s{\.tct$}{}; $t; } glob('*.tct'), glob('*/*.tct'); + +my $DBPATH = $ENV{PATH_INFO} || $dbs[0]; +$DBPATH =~ s{^/+}{}; +warn "$DBPATH"; my $cgi = CGI->new(); my $scriptname = $cgi->script_name(); @@ -15,7 +17,7 @@ my @docs; if(defined($expr) && length($expr) > 0){ my $tdb = TokyoCabinet::TDB->new(); - $tdb->open(DBPATH); + $tdb->open($DBPATH . '.tct') || die "can't open $DBPATH: $!"; my $tqry = TokyoCabinet::TDBQRY->new($tdb); $tqry->addcond("title", $tqry->QCFTSEX, $expr); $tqry->setorder("title", $tqry->QOSTRASC); @@ -42,14 +44,13 @@ print << "__EOS"; -Tiny Search by Perl +$DBPATH -

Tiny Search by Perl

-
+
@@ -81,6 +82,10 @@ printf("\n"); } +print "Databases: ", join( " ", map { + $_ eq $DBPATH ? qq|$_| : qq|$_| +} @dbs ); + print << "__EOS";