スクリプト言語Perl
ここでは、CGIで良く使われるスクリプト言語Perlについて述べる。
ここでは、Java言語の経験がすでにあるものとし、PerlとJavaとの主な違いを述べていくこととする。
プログラムの書き方
Javaでは、必ずクラスとmainメソッドを定義する必要があったが、
Perlでは、実行したい文をそのまま書くだけで良い。
例えば、"Hello Perl"と表示するPerlプログラムは以下の通りである。
#!/usr/bin/env perl
print "Hello Perl\n";
コンパイルする必要がない
つまり、Javaでいうjavacコマンドを実行する必要がなく、
いきなりプログラムを実行できる。これは、実行時にプログラムを
解釈実行するインタプリタ言語であるためである。
例えば、上記のプログラムを、hello.plというファイル名で保存すれば、
perl hello.plとコマンドを打てば実行できる。
また、プログラムの1行目に #!/usr/bin/env perl
と書いておき、ファイルのパーミッションを実行可(例: chmod +x hello.pl)にしておけば、
./hello.plなどと打つだけで実行できる。
Perlのプログラムファイルには .pl という拡張子を付けるのが通常である。
ただし、CGIとして書く場合は、.cgiという拡張子を付けることが多い。
手続き(メソッド)の呼び出しで括弧が必要ない
JavaのSystem.out.printメソッドに相当するのがprintである。
Javaでは、System.out.print("Hello\n"); と書いていたところを、
Perlでは、print("Hello\n"); と書く。そして、この括弧を省略し、
print "Hello\n"; と書いても良い。
変数名の前に $ を付ける必要がある
例えば、aという変数は $a と書き、aに100を代入したい場合は、
$a = 100; と書く。変数の値を表示したい場合は、
例えば、print $a;と書く。さらに、表示したい
文字列の中に変数を含めることができる(例: print "答えは $a です\n";)。
東京情報大学情報システム学科
大見 嘉弘(Yoshihiro OHMI)
<ohmi@rsch.tuis.ac.jp>