my $rs = $schema->resultset("UrTable")->search({ ur => "search" }); my $csv = Text::CSV_XS->new({ binary => 1, auto_diag => 1 }) or die "Cannot use CSV: ", Text::CSV_XS->error_diag; my @headers = $rs->result_source->columns; $csv->say( \*STDOUT, [ @headers ] ); my $cursor = $rs->cursor; while ( my @vals = $cursor->next ) { $csv->say( \*STDOUT, [ @vals ] ); }