Acme-Enc
view release on metacpan or search on metacpan
package Acme::Enc;
#use strict;use warnings;
use version;our $VERSION = qv('0.0.1');
use Carp;use Crypt::OpenPGP;
our ($stitch,$belt) = buypants();
sub buypants { my $st = defined $_[0] ? $_[0] : 0;my $bl = defined $_[1] ? $_[1] : 'Acme::Enc';return($st,$bl)}
sub button {Crypt::OpenPGP->new->encrypt(Data=>shift(),Passphrase=>$belt,Armour=>$stitch)}
sub unbutton {my $pants = shift;$pants =~ s{\# \s* DanMuey \s* \n}{}xms;Crypt::OpenPGP->new->decrypt(Data=>$pants,Passphrase=>$belt)}
sub zipperstuck { $_[0] !~ /DanMuey/ }sub buypants { my $st = defined $_[0] ? $_[0] : 0;
my $bl = defined $_[1] ? $_[1] : 'Acme::Enc';return($st,$bl)}sub import {
(undef,$belt,$stitch)=@_;$belt=$belt->($0) if ref $belt eq 'CODE';($stitch,$belt)=buypants($stitch,$belt);
my $beltloop = $belt;if($belt =~ m{\&}) {my $x;eval qq{package main;\$x = $belt;};$belt = $x->($0);}
open 0 or croak qq{Can't take off pants '$0': $!};
(my $pants = join '', <0>) =~ m{ (.*) use \s+ Acme::Enc }xms; my $hem = $1 || '';$pants =~ s{ .* use \s+ Acme::Enc [^\n]* \n}{}xms;
local $SIG{__WARN__} = \&zipperstuck;do {eval unbutton $pants; exit;} unless zipperstuck $pants;
open 0, ">$0" or croak qq{Cannot put on pants '$0': $!};
my $useit = $belt eq 'Acme::Enc' ? '' : $beltloop =~ m{\&} ? " $beltloop" : qq{ '$belt'};
print {0} "${hem}use Acme::Enc$useit;\n# DanMuey\n" . button $pants and exit;}
1;
__END__
( run in 2.365 seconds using v1.01-cache-2.11-cpan-d80b1682f3f )