+sub lookup {
+ my $mid = shift;
+
+ if($mid !~ /\@/ and $mid =~ /^(.*)[: ](\d+)$/) {
+ my ($g, $n) = ($1, $2);
+ &docmd("GROUP $g");
+ &docmd("ARTICLE $n");
+ } else {
+ $mid =~ s/.*\<//;
+ $mid =~ s/\>.*//;
+ &docmd("ARTICLE <$mid>");
+ }
+
+ my $fh= 'STDOUT';
+ if (-t $fh) {
+ my $lesscmd= $ENV{'NNTPID_PAGER'};
+ $lesscmd= 'less' unless defined $lesscmd;
+ open LESS, "|-", 'sh','-c',$lesscmd or die $!;
+ $fh= 'LESS';
+ }
+
+ while (1) {
+ &getline;
+ s/[\r\n]//g;
+ last if /^\.$/;
+ s/^\.//;
+ print $fh "$_\n";
+ }
+
+ if ($fh ne 'STDOUT') {
+ close $fh or die "$? $!";
+ }
+}
+