#!/usr/bin/perl use strict; use warnings; my $file; if ( ! defined $ARGV[0] ) { print "Enter file path to encrypt: "; my $input = ; chomp $input; $file = $input; } else { # Expects full path of file $file = $ARGV[0]; } if ( ! -f $file ) { die "File argument must be a plain file, $file is not a plain file or it cannot be found, exiting...\n" }; system("gpg --symmetric --no-symkey-cache --cipher-ago AES-256 $file") == 0 or die "Something went wrong with GPG, I didn't encrypt the file..."; print "Looking for encrypted file..\n"; my $newFilename = $file . ".gpg"; if ( -f $newFilename ) { print "Encrypted file is at: $newFilename\n"; } else { print "Something went wrong? I couldn't find the encrypted file, maybe check the dir?\n"; exit 1; } if ( ! defined $ARGV[1] ) { print "Want to delete the unencrypted file? (y/n)\n"; my $input = ; chomp $input; if ( $input eq "y" ) { print "Deleting $file ..\n"; system("rm $file") == 0 or print "Something went wrong, didn't delete old file\n"; } elsif ( $input eq "n" ) { print "Not deleting $file .. \n"; } else { print "Didn't recognize your input, skipping..\n"; } } elsif ( defined $ARGV[1] && $ARGV[1] eq "--delete" ) { print "Deleting $file ..\n"; system("rm $file") == 0 or print "Something went wrong, didn't delete old file\n"; }