- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlの最適化に取り組む際のa.outについて)
Perlの最適化に取り組む際のa.outについて
このQ&Aのポイント
- Perlの最適化に取り組む際のa.outについて調査中です。
- script.plをa.outに変換し、Webからのアクセス時に表示可能にする方法を検討しています。
- Cソースの生成やコンパイルに関しての知識が必要なようですが、具体的な方法は不明です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おそらく 1. system('./Atest'); 2. foreach(`./Atest`); 3. open(OUT,"./Atest|"); とかでいけると思いますが、 それ以前に、test.cgi の存在そのものが無駄です。 コンパイルしたバイナリそのもの(perlcc が出力した a.out)を test.cgi という名前にリネームするだけで十分です。 CGI とは、「WWWサーバから、ユーザープログラムを呼び出すためのルール」です。そのルールに従っていれば、どんなプログラムからでも使うことができます。 (たまたま、CGIが生まれた当時、CGIに適した「テキスト処理」に長けたプログラミング言語としてPerl が主流だったため、CGIといえばPerlという風潮になっただけで、CGIはPerl専用ではありません) perlcc 元のスクリプトが CGI として動作するPerlプログラムなのであれば、 perlcc が出力した実行プログラムバイナリも CGI として動作します。
お礼
テストサーバーではエラーがないのですが、ローカル環境ではライブラリーの読み込み等が不完全な状態でperlcc -B script.plを行って作成されたa.outをテストサーバーにUPして確認していたのが原因だったようです。 仰るとおり、最初、まっさきにa.outをtest.cgiにリネームして確認していたのですが、そもそもローカルで作成したa.outでは、ライブラリーが読み込めていない状態でしたので、その事が原因だったようでした。 ありがとうございました。