#! /usr/bin/perl use strict; use warnings; use DBI; use CGI; my $q = new CGI; my $dbh = DBI->connect( @connect_param ); my $data = $dbh->selectall_arrayref( 'SELECT * FROM country_info' ); print $q->header('Content-type=application/octet-stream;name="data.csv"'); for (@$data) { print join ",", map { "\"$_\"" } @$_; print "\n"; }