#!/usr/bin/perl -w
######################################################################
# (c) Michael Schilli 1999
######################################################################

use Net::NNTP;

my $nntphost = "news.host.com";

          # News-Host überprüfen
gethostbyname($nntphost) || die "Unknown host $nntphost";

          # News-Agent erzeugen und mit NNTP-Host verbinden
$newsagent = Net::NNTP->new($nntphost) || 
                              die "Cannot connect to host";  

          # Gruppen abfragen. list() liefert:
	  # {"groupname" => [$last, $first, $flag], ...}
$groups = $newsagent->list();

          # Alle Informationen extrahieren
foreach $groupname (sort keys %$groups) {

    ($last, $first, $flag) = @{$groups->{$groupname}};
    print "$groupname: $last $first $flag\n"; 
}

           # Gruppe setzen und Artikelnummern holen
($nof_articles, $first, $last, $groupname) = 
                          $newsagent->group("news.answers");

print "$nof_articles $first $last $groupname\n";

           # Header des aktuellen Artikels holen
$head = $newsagent->head();

           # Headerzeilen durchlaufen
for (@{$head}) {
           # Feldname und Inhalt trennen
    my ($fieldname, $content) = /^(\S+): (.*)/;

    print "FIELD $fieldname\n";      # Probehalber ausgeben
    print "CONTENT $content\n";
}

           # Auf ersten Artikel positionieren
$msgid = $newsagent->nntpstat($first);
print "1st article: $msgid\n";

           # Auf nächsten Artikel positionieren
$msgid = $newsagent->next();
print "Next article: $msgid\n";

           # Auf vorigen Artikel positionieren
$msgid = $newsagent->last();
print "Previous article: $msgid\n";

$newsagent->quit();