---
name: "GnuPG::Handles"
section: "3pm"
platform: "linux"
package: "perl-gnupg-interface"
version: "1.07-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/GnuPG::Handles"
---

# GnuPG::Handles(3pm)

GnuPG handles bundle

## NAME

GnuPG::Handles - GnuPG handles bundle

## SYNOPSIS

```
  use IO::Handle;
  my ( $stdin, $stdout, $stderr,
       $status_fh, $logger_fh, $passphrase_fh,
     )
    = ( IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
        IO::Handle->new(), IO::Handle->new(), IO::Handle->new(),
      );
  my $handles = GnuPG::Handles->new
    ( stdin      => $stdin,
      stdout     => $stdout,
      stderr     => $stderr,
      status     => $status_fh,
      logger     => $logger_fh,
      passphrase => $passphrase_fh,
    );
```

## DESCRIPTION

GnuPG::Handles objects are generally instantiated to be used in conjunction with methods of objects of the class GnuPG::Interface.  GnuPG::Handles objects represent a collection of handles that are used to communicate with GnuPG.

## OBJECT METHODS

### Initialization Methods

- new( *%initialization\_args* )

  This methods creates a new object.  The optional arguments are initialization of data members.

- hash\_init( *%args* ).

  ## OBJECT DATA MEMBERS

- stdin

  This handle is connected to the standard input of a GnuPG process.

- stdout

  This handle is connected to the standard output of a GnuPG process.

- stderr

  This handle is connected to the standard error of a GnuPG process.

- status

  This handle is connected to the status output handle of a GnuPG process.

- logger

  This handle is connected to the logger output handle of a GnuPG process.

- passphrase

  This handle is connected to the passphrase input handle of a GnuPG process.

- command

  This handle is connected to the command input handle of a GnuPG process.

- options

  This is a hash of hashrefs of settings pertaining to the handles in this object.  The outer-level hash is keyed by the names of the handle the setting is for, while the inner is keyed by the setting being referenced.  For example, to set the setting `"direct"` to true for the filehandle `"stdin"`, the following code will do:

  ```
      # assuming $handles is an already-created
      # GnuPG::Handles object, this sets all
      # options for the filehandle stdin in one blow,
      # clearing out all others
      $handles->options( 'stdin', { direct => 1 } );
      # this is useful to just make one change
      # to the set of options for a handle
      $handles->options( 'stdin' )->{direct} = 1;
      # and to get the setting...
      $setting = $handles->options( 'stdin' )->{direct};
      # and to clear the settings for stdin
      $handles->options( 'stdin', {} );
  ```

  The currently-used settings are as follows:

  - direct

    If the setting `"direct"` is true for a handle, the GnuPG process spawned will access the handle directly.  This is useful for having the GnuPG process read or write directly to or from an already-opened file.

## SEE ALSO

GnuPG::Interface,
