#!/usr/local/bin/perl
use Jcode;
#### page defines
$SOURCE = '/home/sharl/html/d/hina.txt';
$DEST = '/home/sharl/html/d/watchlynx.rdf';
$match_pattern = '(.*?)(.*?)
';
my $publisher = 'しゃある';
my $creator = 'sharl @ hauN.org';
my $pageuri = 'http://sharl.hauN.org/d/wl.html';
my $pagedescription = '俺用';
my $pagetitle = 'わっちりんく(す)';
my $copyright = 'Copyright (c) 1995-2004 Sharl';
#### top page time
my ($sec, $min, $hour, $mday, $mon, $year) = localtime($mtime = (stat $SOURCE)[9]);
$year += 1900;
$mon++;
my $dcdate = sprintf("$year-%02d-%02dT%02d:%02d:%02d+09:00", $mon, $mday, $hour, $min, $sec);
my $rdfhead = <
$pagetitle
$pageuri
$pagedescription
ja-jp
$copyright
$dcdate
$publisher
$creator
RDFHEAD
;
open(OUT, ">" . $DEST);
print OUT jcode($rdfhead)->utf8;
&get_items();
my $idx = 0;
foreach (sort NumSort @targets) {
print OUT jcode(qq| \n|)->utf8;
last if (++$idx == $max_items);
}
print OUT " \n";
print OUT " \n";
print OUT " \n";
$idx = 0;
foreach (sort NumSort @targets) {
my $itemblock = <-
$caption{$_}
$_
$caption{$_}
$dcdate{$_}
$author{$_}
ITEM
;
print OUT jcode($itemblock)->utf8;
last if (++$idx == $max_items);
}
print OUT "\n";
close(OUT);
utime $mtime, $mtime, $DEST;
exit;
############################################################
sub get_items {
open(FD, $SOURCE);
while () {
if (m|$match_pattern|io) {
my ($lyear, $lmon, $lmday, $lhour, $lmin, $ref, $title, $author) =
($1, $2, $3, $4, $5, $6, $7, $8);
my $dcdate = sprintf("$lyear-%02d-%02dT%02d:%02d:00+09:00",
$lmon, $lmday, $lhour, $lmin);
$title =~ s/™/(TM)/g;
$author =~ s/♪//g;
$author =~ s/^[\s ]+//g;
push(targets, $ref);
$caption{$ref} = $title;
$dcdate{$ref} = $dcdate;
$author{$ref} = $author;
}
}
close(FD);
}
sub NumSort {
return $dcdate{$b} <=> $dcdate{$a};
}