perlの最適化に取り組む際のa.outについて
perlの最適化に取り組む際のa.outについて
下記IBMのサイトを参考にperlの最適化について取り組んでいます。
http://www.ibm.com/developerworks/jp/linux/library/l-optperl/
現在、意図しているscript.plでは、http://.../script.plにアクセスした場合、現状エラーのない状態です。
その状態で素直に、
$ perlcc -B script.pl
を実行し、a.outというファイルが出来るのを確認しました。
shell上で
$ a.out
を実行すると、ウェブにアクセスした場合に表示される画面が表示されます。
$ mv a.out /var/www/lib/db/Atest
としてリネームしました。
その後、一応パーミッションも実行権限付けました。
●test.cgiとして下記を作成しました。
#!/usr/bin/perl
use lib '/var/www/lib/db';
unshift @INC, '/var/www/lib/db';
use utf8;
use open ":utf8";
use open ":std";
BEGIN{
$| = 1;
print "Content-type: text/html\n\n";
open(STDERR, ">&STDOUT");
}
#1.
system(Atest);
#2.
foreach(`Atest`){
print $_;
}
#3.
open(OUT, "| Atest|");
print OUT;
close(OUT);
1;
Atestの実行結果をWebからのアクセスで表示可能にならないか検証しているのですが、画面は真っ白な状態です。
サーバーのerror.logにも何も表示されません。
上記IBMのサイトで解説されている
抜粋:「perlccはCソースに埋め込まれたものを生成します。このCソースが、完全なスタンドアローンの実行可能ファイルにまでコンパイルされます。」
とあるように、Cが分かっていないと駄目なのでしょうか
Webからアクセス時、表示可能なようにするにはどのようにすれば良いかご教授頂けませんでしょうか