スクリプト言語Perl

ここでは、CGIで良く使われるスクリプト言語PerlをJavaと比較しながら述べる。

プログラムの書き方

Javaでは、必ずクラスとmainメソッドを定義する必要があったが、 Perlでは、実行したい文をそのまま書くだけで良い。 例えば、"Hello Perl"と表示するPerlプログラムは以下の通りである。
#!/usr/bin/env perl
print "Hello Perl\n";
一行目の#!/usr/bin/env perlは、 書かなくてもプログラムを実行することはできるが、 書かないとコマンドとして実行できない。詳しくは後述する。

コンパイルする必要がない

つまり、Javaでいうjavacコマンドを実行する必要がなく、 いきなりプログラムを実行できる。これは、実行時にプログラムを 解釈実行するインタプリタ言語であるためである。

例えば、上記のプログラムを、hello.plというファイル名で保存すれば、 perl hello.plとコマンドを打つと実行できる。
コマンドは、Linuxの場合 シェル(tcshなど)上で、Windowsの場合 コマンドプロンプト上で入力する。

% perl hello.pl     ← コマンドを入力
Hello Perl          ←Perlのプログラムが実行される
%

また、プログラムの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>

Valid HTML 4.01!