#!/usr/local/bin/perl
#
# cl-lab NEWS Search  1998 takuya-n, tatuo-y
#
# ANDԤʤޤɤȾѥڡǶڤäϤƲ
# ǽΥɤǰä뵭ƼФĤΥɤ
# ʤ(Perlǥѥޥå)Ԥʤޤ
# ǽΥɤ "aist" Ȥ "@" ʤɤȤȡƤεФ
# ˤʤꡢ̤Ƥʤ֤ޤ
# Ȥ櫓ǡǽΥɤϰŪǤʤΤˤޤ礦
#   ɤ㡧 newssearch 'ChaSen perl '
#   㡧 newssearch ' ChaSen perl'
#   ˰㡧 newssearch 'a SUFARY' -->  grep ֤ޤ
# ϤȤ⤫(ƥȥǡ)μФ˻֤Τ(
# ;Ϥ)ۤ®ϴޤ(ޤgrep ٤®)


# SUFARY module Υѥ饤֥ꥵѥɲ
BEGIN{$d = "."; unshift(@INC, $d,"$d/blib/lib", "$d/blib/arch");}

# 
use SUFARY;

@key = split(/\s+/,$ARGV[0]);	# 

# եΥץ
$x = SUFARY->new("/var/spool/news/sufary/newsall");

$key[0] =~ s/\\s/ /g;

$nx = $x->search($key[0]);

$tmp = $x->get_all_pos;

undef %check;
$counter = 0;
foreach $pos (@$tmp) {
    $article = $x->get_block($pos,"/var/spool/news/article","/var/spool/news/article");
    if(@key > 1){
#	JOIN(@key[1..$#key]);
	$pattern = join('|',@key[1..$#key]);
	if($article !~ /($pattern)/){next;}
    }
    $article =~ /\n/; $id = $`;
    next if (defined($check{$id}));
#    $article =~ s/[^\n]+$/*** End Of Article ***/;
    $article =~ s/[^\n]+$//;
    $check{$id} = 1;
    $counter++;
#    if($counter > 50){
#	print " 50ۤƤΤǤޤǤˤޤ \n";
#	print " ɤղäƹʤǲ \n";
#	exit(0);
#    }
#    print "--------------------------------------\n";
    print " $counter \n";
    print $article;
    print "\n";
}


### DEBUGѴؿ
# : JOIN("uhyohyo:",keys %uhyohyo); JOIN(hoge,$hoge); 
sub JOIN {
    print "@_\n";
}
