PerlIO::via::GnuPG::Maybe - Layer to decrypt or pass-through unencrypted data on read


This document describes version 0.006 of PerlIO::via::GnuPG::Maybe - released August 10, 2015 as part of PerlIO-via-GnuPG.


    use PerlIO::via::GnuPG::Maybe;

    # cleartext.txt may or may not be encrypted;
    # returns the content or dies on any other error.
    open(my $fh, '<:via(GnuPG::Maybe)', 'cleartext.txt')
        or die "cannot open! $!";

    my @in = <$fh>; # or whatever...


This is a PerlIO module to decrypt files transparently. If you try to open and read a file that is not encrypted, we will simply pass that file through unmolested. If you try to open and read one that is encrypted, it tries to decrypt it and pass it back along to you.

If you're looking for a stricter implementation, see PerlIO::via::GnuPG; it will die if the file is unencrypted.

It's pretty simple and does not support writing, but works.

...and if it doesn't, please file an issue :)


Please see those modules/websites for more information related to this module.


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


Chris Weyl <>

I'm a material boy in a material world

Please note I do not expect to be gittip'ed or flattr'ed for this work, rather it is simply a very pleasant surprise. I largely create and release works like this because I need them or I find it enjoyable; however, don't let that stop you if you feel like it ;)

Flattr, Gratipay, or indulge my Amazon Wishlist... If and *only* if you so desire.


This software is Copyright (c) 2013 by Chris Weyl.

This is free software, licensed under:

  The GNU Lesser General Public License, Version 2.1, February 1999