X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=lib%2FFile%2FKDBX%2FUtil.pm;h=c970683694fcef37ff0086c2c5a7acc5d54f3efa;hb=81604125cc023132207802b4ae0ab4cea12c17fd;hp=4b4c2c71b9828eecabac99d9153f644f7a6aad24;hpb=1b913e5c8826cae2355b0076ec5701aa3ce63c63;p=chaz%2Fp5-File-KDBX diff --git a/lib/File/KDBX/Util.pm b/lib/File/KDBX/Util.pm index 4b4c2c7..c970683 100644 --- a/lib/File/KDBX/Util.pm +++ b/lib/File/KDBX/Util.pm @@ -10,14 +10,15 @@ 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 is_ref); -use Scalar::Util qw(blessed isdual looks_like_number readonly refaddr); +use Ref::Util qw(is_arrayref is_coderef is_hashref is_ref is_refref is_scalarref); +use Scalar::Util qw(blessed readonly); use namespace::clean -except => 'import'; our $VERSION = '999.999'; # VERSION our %EXPORT_TAGS = ( assert => [qw(assert_64bit)], + bool => [qw(FALSE TRUE)], clone => [qw(clone clone_nomagic)], crypt => [qw(pad_pkcs7)], debug => [qw(dumper)], @@ -26,7 +27,7 @@ our %EXPORT_TAGS = ( empty => [qw(empty nonempty)], erase => [qw(erase erase_scoped)], gzip => [qw(gzip gunzip)], - io => [qw(read_all)], + io => [qw(is_readable is_writable read_all)], load => [qw(load_optional load_xs try_load_optional)], search => [qw(query search simple_expression_query)], text => [qw(snakify trim)], @@ -424,6 +425,20 @@ sub gzip { return $out; } +=func is_readable + +=func is_writable + + $bool = is_readable($mode); + $bool = is_writable($mode); + +Determine of an C-style mode is readable, writable or both. + +=cut + +sub is_readable { $_[0] !~ /^[aw]b?$/ } +sub is_writable { $_[0] !~ /^rb?$/ } + =func is_uuid $bool = is_uuid($thing); @@ -805,6 +820,17 @@ sub uuid { } +=func FALSE + +=func TRUE + +Constants appropriate for use as return values in functions claiming to return true or false. + +=cut + +sub FALSE() { !1 } +sub TRUE() { 1 } + BEGIN { my $use_cowrefcnt = eval { require B::COW; 1 }; *_USE_COWREFCNT = $use_cowrefcnt ? sub() { 1 } : sub() { 0 };