File-KDBX
view release on metacpan or search on metacpan
lib/File/KDBX/Dumper.pm view on Meta::CPAN
$self->_dump($fh, $key);
close($fh);
my ($file_mode, $file_uid, $file_gid) = (stat($filepath))[2, 4, 5];
if ($filepath_temp) {
$mode //= $file_mode // do { my $m = umask; defined $m ? oct(666) &~ $m : undef };
$uid //= $file_uid // -1;
$gid //= $file_gid // -1;
chmod($mode, $filepath_temp) if defined $mode;
chown($uid, $gid, $filepath_temp);
rename($filepath_temp, $filepath) or throw "Failed to write file ($filepath): $!",
filepath => $filepath;
}
return $self;
}
sub dump_handle {
my $self = shift;
lib/File/KDBX/Dumper.pm view on Meta::CPAN
=item *
C<key> - Alternative way to specify C<$key> (default: value of L</File::KDBX/key>)
=item *
C<mode> - File mode / permissions (see L<perlfunc/"chmod LIST">
=item *
C<uid> - User ID (see L<perlfunc/"chown LIST">)
=item *
C<gid> - Group ID (see L<perlfunc/"chown LIST">)
=item *
C<atomic> - Write to the filepath atomically (default: true)
=back
=head2 dump_handle
$dumper->dump_handle($fh, %options);
lib/File/KDBX/Key/File.pm view on Meta::CPAN
close($fh);
if ($filepath_temp) {
my ($file_mode, $file_uid, $file_gid) = (stat($filepath))[2, 4, 5];
my $mode = $args{mode} // $file_mode // do { my $m = umask; defined $m ? oct(666) &~ $m : undef };
my $uid = $args{uid} // $file_uid // -1;
my $gid = $args{gid} // $file_gid // -1;
chmod($mode, $filepath_temp) if defined $mode;
chown($uid, $gid, $filepath_temp);
rename($filepath_temp, $filepath)
or throw "Failed to write file ($filepath): $!", filepath => $filepath;
}
}
##############################################################################
sub _load_xml {
my $self = shift;
my $buf = shift;
( run in 1.212 second using v1.01-cache-2.11-cpan-71847e10f99 )