GnuPG::Tie::Decrypt - Tied filehandle interface to decryption with the GNU Privacy Guard.
use GnuPG::Tie::Encrypt; use GnuPG::Tie::Decrypt;
tie *CIPHER, 'GnuPG::Tie::Encrypt', armor => 1, recipient => 'User'; print CIPHER <<EOF This is a secret EOF local $/ = undef; my $ciphertext = <CIPHER>; close CIPHER; untie *CIPHER;
tie *PLAINTEXT, 'GnuPG::Tie::Decrypt', passphrase => 'secret'; print PLAINTEXT $ciphertext; my $plaintext = <PLAINTEXT>;
# $plaintext should now contains 'This is a secret' close PLAINTEXT; untie *PLAINTEXT
With GnuPG::Tie::Encrypt everyting you write to the file handle will be encrypted. You can read the ciphertext from the same file handle.
With GnuPG::Tie::Decrypt you may read the plaintext equivalent of a ciphertext. This is one can have been written to file handle.
All options given to the tie constructor will be passed on to the underlying GnuPG object. You can use a mix of options to ouput directly to a file or to read directly from a file, only remember than once you start reading from the file handle you can't write to it anymore.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.