Thanks a lot! Worked like a charm... here's the code I used:
Code:
my @post_def = ('ReplyID', 'Title', 'Author', 'Email', 'Date', 'Referer');
my %thread;
open (INDEX, "test.db");
while (<INDEX>) {
chomp;
my @rec = split /\|/, $_;
my $referer = pop @rec;
push @{$thread{$referer}}, $rec[0];
}
close (INDEX);
sub get_post {
my $id = shift;
my %rec;
open (INDEX, "test.db");
while (<INDEX>) {
/^$id\|/ or next;
chomp;
my @rec = split /\|/, $_;
for (my $i = 0; $i <= $#post_def; $i++) {
$rec{$post_def[$i]} = $rec[$i];
}
$rec{'Date'} = convert($rec{'Date'});
}
close (INDEX);
return (%rec);
}
print header();
print qq|
<html>
<head><title>index view of replies</title></head>
<body bgcolor="white">
<table width="100%" border="1" cellspacing="0" cellpading="5" bordercolor="black">
<tr>
<td width="100%" align="center">Subject</td>
<td width="150"><table width="150"><tr><td width="150" align="center">Author</td></tr></table></td>
<td width="200"><table width="200"><tr><td width="200" align="center">Date</td></tr></table></td>
</tr>
|;
display('',0,1);
print " </table>\n";
print end_html();
sub display {
my ($width, $index, $id) = @_;
my %rec = get_post($id);
print qq|
<tr>
<td align="left">
$width
<a href="post.cgi?$rec{'ReplyID'}">$rec{'Title'}</a>
</td>
<td align="center">
<a href="mailto:$rec{'Email'}">$rec{'Author'}</a>
</td>
<td align="center">
$rec{'Date'}
</td>
</tr>
|;
$index++;
foreach my $reply (@{$thread{$id}}) {
my $width = " " x ($index * 3);
display($width, $index, $reply);
}
}
--Drew
Free, hot camel soup for Links hackers...
http://www.camelsoup.com