package App::AltSQL::Plugin::Dump::Format::csv; use Moose::Role; sub format { my ($self, %params) = @_; my $table_data = $params{table_data}; # make headers for the csv file my $csv = join( ",", map{ escape($_->{name}) } @{ $table_data->{columns} } ) . "\n"; # print out the rows for my $row (@{ $table_data->{rows} }) { $csv .= join( ",", map{ escape($_) } @$row ) . "\n"; } return $csv; } sub escape { my ($value) = @_; return '' if !defined $value; $value =~ s/"/""/g; return '"' . $value . '"'; } 1;