use Crypt::OpenPGP;
use File::Slurp;
my $pgp = Crypt::OpenPGP->new(Compat => 'GnuPG');
my $phrase=read_file('file.txt');
my ($plaintext,$valid,$sig)=$pgp->decrypt(
Data => $phrase,
Passphrase => "abc123!",
);
print "[message: $plaintext
valid: $valid
signature: $sig
error: ".$pgp->errstr."]
\n";