#!/usr/bin/perl 
#
# Edit password file. Uses PGP6.
#
# Wed Apr 16 06:37:57 BST 2008. (c) Frank Shute

use strict;
use warnings;
use Term::ReadKey;
use Env qw(HOME VISUAL);

# Define variables

my $passfile = "$HOME/pass.asc";
my $plainfile = "$HOME/pass";
my $pgpkey_id = "0x0631D08B";

	if ( -e "$passfile" ) {
		print "Enter your password: ";
		ReadMode 2;
		my $password = ReadLine 0;
		chomp $password;
		ReadMode 0;
		print "\n";
		system "pgp $passfile -o $plainfile -z $password"; 
		system "$VISUAL $plainfile";
		system "pgp -sew $plainfile $pgpkey_id -z $password";
	} else {
		die "$passfile doesn't exist!";
		}
	if ( -e "$plainfile~" ) && ( -e "$passfile" ) {
		system "rm $plainfile~";
		}