in reply to Capture response from backticks to a file.

I would change:
# Encrypt file. my $gpg_command = `gpg --trust-model always -er 12345678 my_file.txt`; print defined($gpg_command) ? $gpg_command : "Command failed\n"; # Capture STDOUT and save it to a file. open(READ, "$gpg_command 2>&1 |") or die "Failure on open $!\n"; open( my $out, ">", "encrypted.pgp" ) or die "Could not open file for + encrypted data - $!";

to:

# Build encryption command my $gpg_command = "gpg --trust-model always -er 12345678 my_file.txt"; # Execute command and capture STDOUT. my $gpg_results = `$gpg_command`; print defined($gpg_results) ? $gpg_results : "Command failed\n"; # Save captured STDOUT to a file. open( my $out, ">", "encrypted.pgp" ) or die "Could not open file for +encrypted data - $!";

Then: