---
name: "GnuPG::Tie"
section: "3pm"
platform: "linux"
package: "libgnupg-perl"
version: "0.19-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/GnuPG::Tie"
---

# GnuPG::Tie(3pm)

Tied filehandle interface to encryption with the GNU Privacy Guard. GnuPG::Tie::Decrypt - Tied filehandle interface to decryption with the GNU Privacy Guard.

## NAME

GnuPG::Tie::Encrypt - Tied filehandle interface to encryption with the GNU Privacy Guard.

GnuPG::Tie::Decrypt - Tied filehandle interface to decryption with the GNU Privacy Guard.

## SYNOPSIS

```
    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;
```

## DESCRIPTION

GnuPG::Tie::Encrypt and GnuPG::Tie::Decrypt provides a tied  file handle interface to encryption/decryption facilities of the GNU Privacy guard.

With GnuPG::Tie::Encrypt everything 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 output 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.

## AUTHOR

Francis J. Lacoste \<francis.lacoste@Contre.COM\>

## COPYRIGHT

Copyright (c) 1999, 2000 iNsu Innovations Inc. Copyright (c) 2001 Francis J. Lacoste

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.

## SEE ALSO

[**gpg**(1)](/gpg/1.md) **GnuPG**(3)
