CGI についての誤解
自分も今の会社に入るまでは完全に誤解していました。
Perl == CGI という誤解
そもそも最近では CGI といえば PHP のほうが有名ですが、私もずっと誤解していました。Perl を使うということは、結局
javac Hello.java java Hello
とか、
gcc -o main main.c ./main
と、全く変わらないレベルで、
perl main.pl
をしているだけでした。
CGI についての誤解
上記の誤解とあわせて二重に誤解していました。CGI というのは何か特別なものだと思っていましたが、結局
#include <stdio.h> int main(int argc, char* argv[]) { printf("Content-Type: text/html\n\n"); printf("<html>...."); return 0; }
と、しているだけでした。この CGI の本質さえわかれば、Java だろうと C だろうと Basic だろうと Fortran だろうとどんな言語でも CGI を書けるようになります(参考:Javaで書いたCGI、Cで書いたCGI)。プログラムの呼び出しと main 関数への引数渡しを apache や tomcat が代わりに行っているだけのことです。