NAME
OurNet::BBS - Component Object Model for BBS systems
SYNOPSIS
use strict;
use OurNet::BBS;
my $backend = 'CVIC'; # same as 'OurNet::BBS::CVIC'
my $bbsroot = '/srv/bbs/cvic';
my $board = 'sysop';
my $BBS = OurNet::BBS->new($backend, $bbsroot);
my $brd = $BBS->{boards}{$board};
my $mtime;
printf (
"This BBS has %d boards, %d groups.\n",
scalar keys(%{$BBS->{boards}}),
scalar keys(%{$BBS->{groups}}),
);
eval { $mtime = $brd->{articles}->mtime };
die "Error: cannot read board $board -- $@\n" if $@;
printf (
"The $board board has %d articles, %d toplevel archive entries.\n",
$#{$brd->{articles}}, $#{$brd->{archives}},
);
# A simple Sysop board article monitor
print "Watching for new articles...\n";
while (1) {
print "=== wait here ($mtime) ===\n";
sleep 5 until ($brd->{articles}->refresh);
foreach my $article (@{$brd->{articles}}[1..$#{$brd->{articles}}]) {
print "Found article: $article->{title}\n" if $article->btime > $mtime;
}
$mtime = $brd->{articles}->mtime;
}
DESCRIPTION
OurNet::BBS implements a flexible object model for different BBS backends.
More detailed document is expected to appear soon.
AUTHORS
Chia-Liang Kao <clkao@clkao.org>, Autrijus Tang <autrijus@autrijus.org>
COPYRIGHT
Copyright 2001 by Autrijus Tang <autrijus@autrijus.org>, Chia-Liang Kao <clkao@clkao.org>.
All rights reserved. You can redistribute and/or modify this module under the same terms as Perl itself.