use 5.010; use lib '/home/lacuna/server/lib'; use Lacuna::DB; use Lacuna; use DateTime; use Text::CSV_XS; my $public_root = '/home/lacuna/server/public'; my $out; my $csv = Text::CSV_XS->new({binary => 1}); $csv->combine(qw(id name x y color zone)); $out .= $csv->string."\n"; #say $csv->string; my $stars = Lacuna->db->resultset('Lacuna::DB::Result::Map::Star'); while (my $star = $stars->next) { if ($csv->combine( $star->id, $star->name, $star->x, $star->y, $star->color, $star->zone )) { $out .= $csv->string."\n"; #say $csv->string; } else { say "ERROR", $csv->error_input; } } my $filename = 'server/stars.csv'; my $path = $public_root.'/'.$filename; say "Writing $path"; open my $fh, '>', $path or die "Can't write $path: $!"; print $fh $out; close $fh;