DB-Handy
view release on metacpan or search on metacpan
lib/DB/Handy.pm view on Meta::CPAN
sub parse_set_exprs {
my($str) = @_;
my %set;
for my $part (args($str)) {
$part =~ s/^\s+|\s+$//g;
$set{$1} = $2 if $part =~ /^(\w+)\s*=\s*(.+)$/;
}
return %set;
}
sub update {
my($self, $table, $set_exprs, $ws) = @_;
return $self->_err("No database selected") unless $self->{db_name};
my $sch = $self->_load_schema($table) or return undef;
my $dat = $self->_file($table, 'dat');
my $rs = $sch->{recsize};
my $n = 0;
local *FH;
open(FH, "+< $dat") or return $self->_err("Cannot open dat: $!");
binmode FH;
_lock_ex(\*FH);
( run in 0.920 second using v1.01-cache-2.11-cpan-39bf76dae61 )