• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:perlの最適化に取り組む際のa.outについて)

Perlの最適化に取り組む際のa.outについて

このQ&Aのポイント
  • Perlの最適化に取り組む際のa.outについて調査中です。
  • script.plをa.outに変換し、Webからのアクセス時に表示可能にする方法を検討しています。
  • Cソースの生成やコンパイルに関しての知識が必要なようですが、具体的な方法は不明です。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.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 として動作します。

taku0
質問者

お礼

テストサーバーではエラーがないのですが、ローカル環境ではライブラリーの読み込み等が不完全な状態でperlcc -B script.plを行って作成されたa.outをテストサーバーにUPして確認していたのが原因だったようです。 仰るとおり、最初、まっさきにa.outをtest.cgiにリネームして確認していたのですが、そもそもローカルで作成したa.outでは、ライブラリーが読み込めていない状態でしたので、その事が原因だったようでした。 ありがとうございました。

関連するQ&A

専門家に質問してみよう