view release on metacpan or search on metacpan
"File::Temp" : "0",
"Hash::Util::FieldHash" : "0",
"IO::Handle" : "0",
"IPC::Cmd" : "0.84",
"Iterator::Simple" : "0",
"List::Util" : "1.33",
"Math::BigInt" : "1.993",
"Module::Load" : "0",
"Module::Loaded" : "0",
"POSIX" : "0",
"Ref::Util" : "0",
"Scalar::Util" : "0",
"Scope::Guard" : "0",
"Storable" : "0",
"Symbol" : "0",
"Text::ParseWords" : "0",
"Time::Local" : "1.19",
"Time::Piece" : "1.33",
"XML::LibXML" : "0",
"XML::LibXML::Reader" : "0",
"boolean" : "0",
File::Temp: '0'
Hash::Util::FieldHash: '0'
IO::Handle: '0'
IPC::Cmd: '0.84'
Iterator::Simple: '0'
List::Util: '1.33'
Math::BigInt: '1.993'
Module::Load: '0'
Module::Loaded: '0'
POSIX: '0'
Ref::Util: '0'
Scalar::Util: '0'
Scope::Guard: '0'
Storable: '0'
Symbol: '0'
Text::ParseWords: '0'
Time::Local: '1.19'
Time::Piece: '1.33'
XML::LibXML: '0'
XML::LibXML::Reader: '0'
boolean: '0'
Makefile.PL view on Meta::CPAN
"File::Temp" => 0,
"Hash::Util::FieldHash" => 0,
"IO::Handle" => 0,
"IPC::Cmd" => "0.84",
"Iterator::Simple" => 0,
"List::Util" => "1.33",
"Math::BigInt" => "1.993",
"Module::Load" => 0,
"Module::Loaded" => 0,
"POSIX" => 0,
"Ref::Util" => 0,
"Scalar::Util" => 0,
"Scope::Guard" => 0,
"Storable" => 0,
"Symbol" => 0,
"Text::ParseWords" => 0,
"Time::Local" => "1.19",
"Time::Piece" => "1.33",
"XML::LibXML" => 0,
"XML::LibXML::Reader" => 0,
"boolean" => 0,
Makefile.PL view on Meta::CPAN
"Hash::Util::FieldHash" => 0,
"IO::Handle" => 0,
"IPC::Cmd" => "0.84",
"IPC::Open3" => 0,
"Iterator::Simple" => 0,
"List::Util" => "1.33",
"Math::BigInt" => "1.993",
"Module::Load" => 0,
"Module::Loaded" => 0,
"POSIX" => 0,
"Ref::Util" => 0,
"Scalar::Util" => 0,
"Scope::Guard" => 0,
"Storable" => 0,
"Symbol" => 0,
"Test::Deep" => 0,
"Test::Fatal" => 0,
"Test::More" => "1.001004_001",
"Test::Warnings" => 0,
"Text::ParseWords" => 0,
"Time::Local" => "1.19",
lib/File/KDBX.pm view on Meta::CPAN
use Crypt::Digest qw(digest_data);
use Crypt::PRNG qw(random_bytes);
use Devel::GlobalDestruction;
use File::KDBX::Constants qw(:all :icon);
use File::KDBX::Error;
use File::KDBX::Safe;
use File::KDBX::Util qw(:class :coercion :empty :search :uuid erase simple_expression_query snakify);
use Hash::Util::FieldHash qw(fieldhashes);
use List::Util qw(any first);
use Ref::Util qw(is_ref is_arrayref is_plain_hashref);
use Scalar::Util qw(blessed);
use Time::Piece 1.33;
use boolean;
use namespace::clean;
our $VERSION = '0.906'; # VERSION
our $WARNINGS = 1;
fieldhashes \my (%SAFE, %KEYS);
lib/File/KDBX/Dumper.pm view on Meta::CPAN
use warnings;
use strict;
use Crypt::Digest qw(digest_data);
use File::KDBX::Constants qw(:magic :header :version :random_stream);
use File::KDBX::Error;
use File::KDBX::Util qw(:class);
use File::KDBX;
use IO::Handle;
use Module::Load;
use Ref::Util qw(is_ref is_scalarref);
use Scalar::Util qw(looks_like_number openhandle);
use namespace::clean;
our $VERSION = '0.906'; # VERSION
sub new {
my $class = shift;
my $self = bless {}, $class;
$self->init(@_);
lib/File/KDBX/Entry.pm view on Meta::CPAN
use strict;
use Crypt::Misc 0.049 qw(decode_b64 encode_b32r);
use Devel::GlobalDestruction;
use Encode qw(encode);
use File::KDBX::Constants qw(:history :icon);
use File::KDBX::Error;
use File::KDBX::Util qw(:assert :class :coercion :erase :function :uri generate_uuid load_optional);
use Hash::Util::FieldHash;
use List::Util qw(any first sum0);
use Ref::Util qw(is_coderef is_hashref is_plain_hashref);
use Scalar::Util qw(blessed looks_like_number);
use Storable qw(dclone);
use Time::Piece 1.33;
use boolean;
use namespace::clean;
extends 'File::KDBX::Object';
our $VERSION = '0.906'; # VERSION
lib/File/KDBX/Group.pm view on Meta::CPAN
use warnings;
use strict;
use Devel::GlobalDestruction;
use File::KDBX::Constants qw(:bool :icon :iteration);
use File::KDBX::Error;
use File::KDBX::Iterator;
use File::KDBX::Util qw(:assert :class :coercion generate_uuid);
use Hash::Util::FieldHash;
use List::Util qw(any sum0);
use Ref::Util qw(is_coderef is_ref);
use Scalar::Util qw(blessed);
use Time::Piece 1.33;
use boolean;
use namespace::clean;
extends 'File::KDBX::Object';
our $VERSION = '0.906'; # VERSION
lib/File/KDBX/IO.pm view on Meta::CPAN
package File::KDBX::IO;
# ABSTRACT: Base IO class for KDBX-related streams
use warnings;
use strict;
use Devel::GlobalDestruction;
use File::KDBX::Constants qw(:bool);
use File::KDBX::Util qw(:class :empty);
use List::Util qw(sum0);
use Ref::Util qw(is_blessed_ref is_ref is_scalarref);
use Symbol qw(gensym);
use namespace::clean;
extends 'IO::Handle';
our $VERSION = '0.906'; # VERSION
sub _croak { require Carp; goto &Carp::croak }
my %ATTRS = (
lib/File/KDBX/Iterator.pm view on Meta::CPAN
package File::KDBX::Iterator;
# ABSTRACT: KDBX database iterator
use warnings;
use strict;
use File::KDBX::Error;
use File::KDBX::Util qw(:class :load :search);
use Iterator::Simple;
use Module::Loaded;
use Ref::Util qw(is_arrayref is_coderef is_ref is_scalarref);
use namespace::clean;
BEGIN { mark_as_loaded('Iterator::Simple::Iterator') }
extends 'Iterator::Simple::Iterator';
our $VERSION = '0.906'; # VERSION
sub new {
my $class = shift;
lib/File/KDBX/Key.pm view on Meta::CPAN
use warnings;
use strict;
use Devel::GlobalDestruction;
use File::KDBX::Error;
use File::KDBX::Safe;
use File::KDBX::Util qw(erase);
use Hash::Util::FieldHash qw(fieldhashes);
use Module::Load;
use Ref::Util qw(is_arrayref is_coderef is_hashref is_ref is_scalarref);
use Scalar::Util qw(blessed openhandle);
use namespace::clean;
our $VERSION = '0.906'; # VERSION
fieldhashes \my %SAFE;
sub new {
my $class = shift;
lib/File/KDBX/Key/Composite.pm view on Meta::CPAN
package File::KDBX::Key::Composite;
# ABSTRACT: A composite key made up of component keys
use warnings;
use strict;
use Crypt::Digest qw(digest_data);
use File::KDBX::Error;
use File::KDBX::Util qw(:class :erase);
use Ref::Util qw(is_arrayref);
use Scalar::Util qw(blessed);
use namespace::clean;
extends 'File::KDBX::Key';
our $VERSION = '0.906'; # VERSION
sub init {
my $self = shift;
my $primitive = shift // throw 'Missing key primitive';
lib/File/KDBX/Key/File.pm view on Meta::CPAN
use warnings;
use strict;
use Crypt::Digest qw(digest_data);
use Crypt::Misc 0.029 qw(decode_b64 encode_b64);
use Crypt::PRNG qw(random_bytes);
use File::KDBX::Constants qw(:key_file);
use File::KDBX::Error;
use File::KDBX::Util qw(:class :erase trim);
use Ref::Util qw(is_ref is_scalarref);
use Scalar::Util qw(openhandle);
use XML::LibXML::Reader;
use namespace::clean;
extends 'File::KDBX::Key';
our $VERSION = '0.906'; # VERSION
has 'type', is => 'ro';
lib/File/KDBX/Key/YubiKey.pm view on Meta::CPAN
package File::KDBX::Key::YubiKey;
# ABSTRACT: A Yubico challenge-response key
use warnings;
use strict;
use File::KDBX::Constants qw(:yubikey);
use File::KDBX::Error;
use File::KDBX::Util qw(:class :io pad_pkcs7);
use IPC::Cmd 0.84 qw(run_forked);
use Ref::Util qw(is_arrayref);
use Symbol qw(gensym);
use namespace::clean;
extends 'File::KDBX::Key::ChallengeResponse';
our $VERSION = '0.906'; # VERSION
# It can take some time for the USB device to be ready again, so we can retry a few times.
our $RETRY_COUNT = 5;
our $RETRY_INTERVAL = 0.1;
lib/File/KDBX/Loader.pm view on Meta::CPAN
use warnings;
use strict;
use File::KDBX::Constants qw(:magic :header :version);
use File::KDBX::Error;
use File::KDBX::Util qw(:class :io);
use File::KDBX;
use IO::Handle;
use Module::Load ();
use Ref::Util qw(is_ref is_scalarref);
use Scalar::Util qw(looks_like_number openhandle);
use namespace::clean;
our $VERSION = '0.906'; # VERSION
sub new {
my $class = shift;
my $self = bless {}, $class;
$self->init(@_);
lib/File/KDBX/Loader/KDB.pm view on Meta::CPAN
# ABSTRACT: Read KDB files
use warnings;
use strict;
use Encode qw(encode);
use File::KDBX::Constants qw(:header :cipher :random_stream :icon);
use File::KDBX::Error;
use File::KDBX::Util qw(:class :empty :io :uuid load_optional);
use File::KDBX;
use Ref::Util qw(is_arrayref is_hashref);
use Scalar::Util qw(looks_like_number);
use Time::Piece 1.33;
use boolean;
use namespace::clean;
extends 'File::KDBX::Loader';
our $VERSION = '0.906'; # VERSION
my $DEFAULT_EXPIRATION = Time::Piece->strptime('2999-12-31 23:59:59', '%Y-%m-%d %H:%M:%S');
lib/File/KDBX/Object.pm view on Meta::CPAN
use warnings;
use strict;
use Devel::GlobalDestruction;
use File::KDBX::Constants qw(:bool);
use File::KDBX::Error;
use File::KDBX::Util qw(:uuid);
use Hash::Util::FieldHash qw(fieldhashes);
use List::Util qw(any first);
use Ref::Util qw(is_arrayref is_plain_arrayref is_plain_hashref is_ref);
use Scalar::Util qw(blessed weaken);
use namespace::clean;
our $VERSION = '0.906'; # VERSION
fieldhashes \my (%KDBX, %PARENT, %TXNS, %REFS, %SIGNALS);
sub new {
my $class = shift;
lib/File/KDBX/Safe.pm view on Meta::CPAN
use warnings;
use strict;
use Crypt::PRNG qw(random_bytes);
use Devel::GlobalDestruction;
use Encode qw(encode decode);
use File::KDBX::Constants qw(:random_stream);
use File::KDBX::Error;
use File::KDBX::Util qw(erase erase_scoped);
use Ref::Util qw(is_arrayref is_coderef is_hashref is_scalarref);
use Scalar::Util qw(refaddr);
use namespace::clean;
our $VERSION = '0.906'; # VERSION
sub new {
my $class = shift;
my %args = @_ % 2 == 0 ? @_ : (strings => shift, @_);
lib/File/KDBX/Util.pm view on Meta::CPAN
use 5.010;
use warnings;
use strict;
use Crypt::PRNG qw(random_bytes random_string);
use Encode qw(decode encode);
use Exporter qw(import);
use File::KDBX::Error;
use List::Util 1.33 qw(any all);
use Module::Load;
use Ref::Util qw(is_arrayref is_coderef is_hashref is_ref is_refref is_scalarref);
use Scalar::Util qw(blessed looks_like_number readonly);
use Time::Piece 1.33;
use boolean;
use namespace::clean -except => 'import';
our $VERSION = '0.906'; # VERSION
our %EXPORT_TAGS = (
assert => [qw(DEBUG assert)],
class => [qw(extends has list_attributes)],
t/00-report-prereqs.dd view on Meta::CPAN
'File::Temp' => '0',
'Hash::Util::FieldHash' => '0',
'IO::Handle' => '0',
'IPC::Cmd' => '0.84',
'Iterator::Simple' => '0',
'List::Util' => '1.33',
'Math::BigInt' => '1.993',
'Module::Load' => '0',
'Module::Loaded' => '0',
'POSIX' => '0',
'Ref::Util' => '0',
'Scalar::Util' => '0',
'Scope::Guard' => '0',
'Storable' => '0',
'Symbol' => '0',
'Text::ParseWords' => '0',
'Time::Local' => '1.19',
'Time::Piece' => '1.33',
'XML::LibXML' => '0',
'XML::LibXML::Reader' => '0',
'boolean' => '0',