#!/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();