cgiが動かない理由

あー!ってなるけど、
まずは落ち着いて以下のことをチェックする。

perlパス
#!/usr/bin/perl

↑になってるか(各自の環境に合わせて)確認。
ありがちなのはタイプミス
スラッシュが抜けてて、

#!usr/bin/perl

とかになってると残念なことに動かない。
一行目はContent-Typeから始める。
print "Content-Type:text/html\n\n";
としてhttpヘッダーを必ずいれる。

■ ディレクティブの確認

apacheの場合はhttpd.confを確認。
ubuntuだと、

/etc/apache2/sites-available/default

が設定ファイルのパス。
そこに以下のディレクティブが書いてあるか確認。

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

この場合だと

http://localhost/cgi-bin/test.cgi

を開くことで、

/usr/lib/cgi-bin/

の中のtest.cgiが呼ばれる。
あとは、以下のディレクティブも見る。

AddHandler cgi-script .cgi .pl
Options ExecCGI

まとめるとこんな感じ。

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

Options ExecCGI
AddHandler cgi-script .cgi .pl