#!/usr/local/bin/perl
&listing_html('top_base.html', 'listing_reverse', 'whatsnew.txt');
sub listing_html {
my($html, $sub, @arg) = @_;
my($_name);
my($out);
my($buffer);
$out = "Content-type: text/html\n\n";
open(HTML,$html);
{
while ( 1 == 1 ) {
if ( $out =~ /()/ ) {
print $` . $1 . $2 . $3;
$out = $';
last;
} else {
print $out;
}
last until $out = ;
}
$buffer = '';
while ( 1 == 1 ) { #buffer
if ( $out =~ /()/ ) {
$buffer .= $`;
$out = $1 . $2 . $3 . $';
last;
} else {
$buffer .= $out;
}
last until $out = ;
}
eval "&$sub" . '($buffer, @arg)';
while ( 1 == 1 ) { #tail
print $out;
last until $out = ;
};
}
close(HTML);
}
sub listing {
my($buf, $data) = @_;
my($out);
my(@term);
open(DATA,"<$data");
{
while() {
@term = split(/\t/);
$out = $buf;
while( $out =~ /(##embed_num:)([0-9]+)(##)/ ) {
$out = $` . @term[$2] . $';
}
print $out;
}
}
close(DATA);
}
sub listing_reverse {
my($buf, $data) = @_;
my($out);
my(@term);
my(@line);
my($i, $j);
open(DATA,"<$data");
{
for($i = 0; ; $i++) {
$line[$i] = ;
if ( $line[$i] eq '' ) {
last;
}
}
$i--;
chop( @line );
for ( $j = 5 ; $i >= 0 && $j > 0; $i--, $j-- ) {
@term = split(/\t/, @line[$i] );
$out = $buf;
while( $out =~ /(##embed_num:)([0-9]+)(##)/ ) {
$out = $` . $term[$2] . $';
}
print $out;
}
}
close(DATA);
}