#!/usr/bin/perl

# written by jason steiner, jsteiner@anwsun.phya.utoledo.edu, Jan 1993
#
# if you use or make improvements to this program i would appreciate
# copies of your modifications & your PGP public key.

($visual = $ENV{'VISUAL'}) || ($visual = '/usr/ucb/vi');
system($visual,@ARGV);
while (!$q) {
        print "Sign this message? [Y]: ";
        $q = <STDIN>;
	$q =~ s/[ \t\n]//g;
	$q = substr ($q, 0, 1);
        if (($q eq 'Y') || ($q eq 'y') || ($q eq '')) {
                push(@opts,'-st','+clearsig=on');
                $q = "y";
        } elsif (($q ne 'N') && ($q ne 'n')) {
                $q = '';
        }
}
if (@opts) {
        $name = $ARGV[$#ARGV];
	umask(077);
        open(INPUT,$name);
        open(HEAD,">${name}.head");
        open(BODY,">${name}.body");
        while (<INPUT>) {
                if (1 .. /^$/) {
                        print HEAD;
			if (m/^From: / || m/^To: / || m/^Date: /) {
				print BODY;
			}
                } else {
                        print BODY;
                }
        }
        close(HEAD);
        close(BODY);
        system('pgp','-a',@opts,"${name}.body");
	if ($? == 0) {
        	unlink($name);
        	system "cat ${name}.head ${name}.body.asc > $name";
	}
        unlink("${name}.head");
        unlink("${name}.body");
        unlink("${name}.body.asc");
}

