#!/usr/local/bin/perl
require './cfg.pl';
#表示する件数
$rss_count = 5;
# 記事のタイトルの最大長(半角文字換算)
$sub_length = 60;
# 辞典のフォルダのフルパス
$jiten_path = "http://localhost/cgi-bin/jiten3/";
@Index = &FileRead("$LogDir"."/index.dat");
@Index = grep{(split(/<>/))[2] ne "削除済み"} @Index;
MAIN:{
print "Content-type: application/xml\n\n";
$xml = "";
$xml .= "";
$xml .= "";
$xml .= "";
$xml .= "$title_str ";
$xml .= "$jiten_path$script_name";
$xml .= "";
$xml .= "ja";
for(my $i=0; $i < $rss_count && $Index[$i] ne ""; $i++){
my($rss_num, $rss_name, $rss_genre) = (split('<>', $Index[$i]))[0,2,3];
$xml .= "- ";
$xml .= "[$rss_genre] $rss_name";
$xml .= "$jiten_path$script_name\?mode=names&no=$rss_num";
$xml .= "";
{
my @text = &FileRead("$LogDir/$rss_num.txt");
my($t_comment, $t_name, $t_fontcolor, $t_date) = split('<>',$text[$#text]);
$t_comment =~ s/<[^>]*>//g;
# 文字数が設定以上の長さだったら切る
if((length $t_comment) >= $sub_length){
$t_comment = substr($t_comment, 0, $sub_length);
my $w = '';
$t_comment =~ s/([\x81-\x9f\xe0-\xef].|[^\x81-\x9f\xe0-\xef])/$w.=$&/eg;
$t_comment = $w;
$t_comment .= '...';
}
$xml .= $t_comment;
}
$xml .= "";
$xml .= "
";
}
$xml .= "";
$xml .= "";
print $xml;
}
##########################
# ファイルを読み込む
# 引数(ファイル名)
##########################
sub FileRead
{
#ローカライズする
my($filename,@LOG);
#引数のファイル名(@_)を$filenameに格納する
($filename) = @_;
#open関数でファイルを開く(このあとINはのように使える)
if( !(open(IN,"$filename")) ){
exit;
}
#@LOGに読み込んだ内容を格納し
@LOG = ;
#ファイルを閉じ
close(IN);
#配列を返す
return @LOG;
}