App-AltSQL
view release on metacpan or search on metacpan
lib/App/AltSQL/Plugin/Dump/Format/csv.pm view on Meta::CPAN
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;
( run in 1.140 second using v1.01-cache-2.11-cpan-39bf76dae61 )