AnyData
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/AnyData.pm view on Meta::CPAN
and $rec =~ $self->{parser}->{skip_pattern};
last;
}
return $rec;
# return $rec if ref $rec eq 'ARRAY';
# return unless $rec;
# my @fields = $self->{parser}->read_fields($rec);
# return undef if scalar @fields == 1 and !defined $fields[0];
# return \@fields;
}
sub update_single_row {
my $self = shift;
my $oldrow = shift;
my $newvals = shift;
my @colnames = @{ $self->col_names };
my @newrow;
my $requested_cols = [];
for my $i(0..$#colnames) {
push @$requested_cols, $colnames[$i] if defined $newvals->{$colnames[$i]};
$newrow[$i] = $newvals->{$colnames[$i]};
$newrow[$i] = $oldrow->{$colnames[$i]} unless defined $newrow[$i];
}
unshift @newrow, $requested_cols;
$self->{storage}->seek(0,2);
$self->push_row( @newrow );
return \@newrow;
}
sub update_multiple_rows {
my $self = shift;
my $key = shift;
my $values = shift;
$self->seek_first_record;
my @rows_to_update;
while (my $row = $self->fetchrow_hashref) {
next unless $self->match($row,$key);
$self->{parser}->{has_update_function}
? $self->update_single_row($row,$values)
: $self->delete_single_row();
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.102 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )