mod_perl
私のWebアプリは、 CGI::Applicationを使用してApacheで実行されます。生成されたファイルのダウンロードを提供したい。以前(CGI :: Appを使用する前mod_perl
)、生成されたとおりにcsvファイルをスプールしましたSTDOUT
。今、私はもう少し洗練されたものを探しています-Spreadsheet :: WriteExcelを使用してExcelスプレッドシートを作成します-そして、ファイルハンドルからそれを印刷することができないようです。
sub export_list {
my $self = shift;
binmode(STDOUT);
my $str;
open my $fh, '>', \$str;
my $workbook = Spreadsheet::WriteExcel->new($fh);
my $worksheet = $workbook->add_worksheet();
$worksheet->write_col(0,0, ['some','data','here']);
warn $str;
return $str;
}
出力は単なる空白の応答であり、警告も空白です。
スプレッドシートをファイルハンドルに書き込むために使用している方法は、ドキュメントからほとんど直接出ているので、問題は私の側のCGI ::Appnooberyが原因であると思います。ドキュメントで提案されているファイルハンドルの方法も、mod_perl
かなり役に立たないことがわかりました。
私はWindowsで実行していることを言及する必要があると思います。現在の回避策は、ファイルを作成してユーザーにそのファイルへのリンクを提供することです。ただし、ディレクトリのクリアとそのタイミング、および生成されたファイルへのアクセスの認証に関しては、さらに問題が発生します。
提案?批判を傷つけますか?