GnuPG::Handles(3pm)

πŸŽ€ NAME πŸŽ€

Okay so this is GnuPG::Handles(3pm), from the User Contributed Perl Documentation β€” and it's literally the GnuPG handles bundle πŸ’–. Think of it as the little bestie that holds all the handles you use to talk to GnuPG.


✨ SYNOPSIS ✨

Here's the whole setup, bestie β€” copy it exactly and let it slay:

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 πŸ’–

So basically, GnuPG::Handles objects are usually created so they can be used together with methods of objects of the class GnuPG::Interface. No cap. These objects represent a collection of handles that are used to communicate with GnuPG, and honestly? It's giving essential plumbing 🫢.


πŸ¦‹ OBJECT METHODS πŸ¦‹

🌸 Initialization Methods 🌸

  • new( %initialization_args ) β€” this method creates a new object, bestie. The optional arguments are initialization of data members. That's the whole tea β˜•βœ¨.
  • hash_init( %args ) β€” yep, this one's also listed. That's the signature, periodt πŸ’….

πŸ“ OBJECT DATA MEMBERS πŸ“

  • stdin β€” this handle is connected to the standard input of a GnuPG process. Iconic input behavior 🌈.
  • stdout β€” this handle is connected to the standard output of a GnuPG process. Main character output energy πŸ‘‘.
  • stderr β€” this handle is connected to the standard error of a GnuPG process. Gotta catch those errors, bestie 😭.
  • status β€” this handle is connected to the status output handle of a GnuPG process. Status updates? We love to see it πŸ’….
  • logger β€” this handle is connected to the logger output handle of a GnuPG process. Logging? Obsessed πŸͺ΅βœ¨.
  • passphrase β€” this handle is connected to the passphrase input handle of a GnuPG process. Secrets stay secret, iykyk πŸ™ˆπŸ”.
  • command β€” this handle is connected to the command input handle of a GnuPG process. Commands go in, magic happens πŸŽ€.
  • 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. Fr fr, direct access is the vibe here πŸ”₯.


πŸ’œ SEE ALSO πŸ’œ

GnuPG::Interface, obviously β€” that's your next stop, bestie πŸ«ΆπŸ’–.


That's the whole page, no crumbs left. Source/version and date for this manual page: perl v5.40.1, dated 2025-03-14. Cute sign-off complete β€” mwah πŸ’‹πŸŽ€βœ¨

πŸ“¦ where this page comes from