my $out = DBIx::Dump->new('format' => $format_pass, ...
i think you will find that
$format_pass does not eq one of 'excel', 'csv', or 'iQuery'.
if ($format_pass eq "csv") {$filename_pass.=csv;}else {$filename_pass.
+=xls;}
if (!$filename_pass) {$filename_pass=query.csv;}
you appear to be using bareword strings here, which is very dangerous and bound to bite you at some point. (ie,
query.csv is being interpretted as
"query"."csv" aka
"querycsv" which is possible not what you inteded.)
update: you should consider
use strict; to help deal with the bareword issue mentioned above.
i see you have a <select> being printed like so:
<select type="option" name="format"><option>csv<option>xls</select>
according to
the docs, you want
format => 'excel', not
xls.