#!/usr/local/bin/perl -w # msgview - simple viewer for news and mail messages # # written by Rob Funk # 15-Jul-1998 $line=""; # read headers while (defined($_=<>) and (!/^$/)) { if (/^\s/) { # continuing previous line $line.=$_; } else { push(@headers,$line); } $line=$_; } # Order: date from reply-to subject to cc # # All: from: subject to cc reply-to date x-mailing-list newsgroups # x-original-newsgroups posted-and-mailed push(@vheaders, grep(/^Date:/i,@headers), grep(/^From:/i,@headers), grep(/^Reply-To:/i,@headers), grep(/^Subject:/i,@headers), grep(/^To:/i,@headers), grep(/^Cc:/i,@headers), grep(/^X-Mailing-List:/i,@headers), grep(/^Newsgroups:/i,@headers), grep(/^X-Original-Newsgroups:/i,@headers), grep(/^Posted-And-Mailed:/i,@headers), ); # use pager? if (-t STDOUT) { open(PAGER,"|".($ENV{PAGER}||"/bin/more")); select PAGER; $pager=1; } # now output print @vheaders; print "\n"; while (<>) { print; } if (defined($pager)) { select STDOUT; close(PAGER); } exit(0);