Internal Server Error

単純ミスでCGIが動作しなかったのでメモしておきます。 (あまり環境依存の話題ではないですがUbuntu10.4LTS + Apache2.2+perl5)
usr/lib/cgi-bin/test.plを作成

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "Hello, World.";

・症状:設定したcgi-bin内のtest.plを実行しても動作しない
・原因:Linux上で改行コードがCR+LFだったこと。Windowsで作成したものをそのままコピーして使ったため。
!#/usr/bin/perl\r ←これが原因。改行コードをLFに修正して解決しました。
ちなみに、/var/log/apahce2/error.logに残っているエラーは「Premature end of script headers: test.pl」

apacheの設定が正しいという前提で、以下確認しなければならないことです(定番)
1.インタープリタの確認
/usr/bin/perl(usr/local/bin/perlの場合は読み替えてください)
がそもそも存在しているか?していなければインストール。
test.plの先頭に”!#/usr/bin/perl”が記述されているか、パスが正しいか?
★改行コードも正しいか?
2.パーミッションの設定
test.plのパーミッションを755にすること(700の場合もある模様)。 
sudo chmod 755 test.pl
ユーザーディレクトリ内に作成したcgi-binを利用するときはcgi-binディレクトリのパーミッションも確認しておくこと