sub handler { my $r=shift; # generate your Spreadsheet binary and put it in, oh # $sheet, ok? $r->content_type('application/vnd.ms-excel'); $r->header_out('Content-disposition' => "attachment; filename=\"$filename""); $r->send_http_header; $r->print($sheet); return DONE; }