UNIX では通常標準で perl がインストールされていますが、Windows 環境では perl を入手してインストールする必要があります。perl の準備に関する詳細は「perl を使う準備をする」を参照してください。
まずはともかく、perl を使ってみましょう。UNIX では vi、Windows ではメモ帳などのテキストエディタで下記の内容を入力し、start1.pl というファイル名で保存してください。
print "Hello world!!\n";
Windows でうまく start1.pl というファイル名で保存できない場合は、[名前をつけて保存] ダイアログで "start1.pl" のように、ファイル名をダブルクォーテーション(")で囲んで保存してください。
上記で作成したスクリプトを、コマンドライン から次のように実行してみてください。% は プロンプト を意味しています。プロンプトは入力せず、perl start1.pl の部分のみを入力してください。Windows の場合のプロンプトは C:\> などになります。
% perl start1.pl Hello world!! %
「Hello world!!」と表示されれば成功です。
print "..." は、「... の部分を書き出せ」という命令です。命令の後ろにはセミコロン(;)を書きます。perlスクリプトは、このような命令をいくつもくみあわせることで作成していきます。\n は改行を意味する 特殊文字 です。
perl に簡単な計算をやってもらいましょう。次の内容を、start2.pl というファイル名で保存してください。
$a = 8; $b = 5; $c = $a + $b; print "c = $c\n";
これを実行すると、次のようになります。
% perl start2.pl c = 13 %
8+5 という簡単な計算を行い、その結果を表示します。$a = 8; は「$a は 8 と等しい」という意味ではなく、「$a という変数に値 8 を代入する」という意味になります。同様に、$c = $a + $b; は、「$c という変数に $a の値と $c の値を合計したものを代入する」という意味になります。print "c = $c\n"; は $c の値を表示し、改行します。
加算(+)の他にも、減算(-)、かけ算(*)、割り算(/)、剰余算(%)、べき乗(**)など、いろいろな演算子があります。演算子の詳細は「算術演算子」を参照してください。
perlの変数は $ や @ や % で始まる名前を持ちます。
$a = 5; $my_name = "田中"; $myname = "鈴木"; # 小文字の名前 $MYNAME = "山田"; # 大文字の名前 $MyName = "佐藤"; # 混在した名前 print "a = $a\n"; print "my_name = $my_name\n"; print "myname = $myname\n"; # 大文字・小文字は print "MYNAME = $MYNAME\n"; # 別の文字として扱われるので、 print "MyName = $MyName\n"; # すべて別の変数となる
これを実行すると次のように表示されます。
% perl start3.pl a = 5 my_name = 田中 myname = 鈴木 MYNAME = 山田 MyName = 佐藤
$a や $aaa などを 変数 と呼びます。値を記憶しておくメモリ領域です。先頭のドルマーク($)はそれが スカラー変数 であることを示しています。$ の他にも @(配列)、%(連想配列)などがあります。(→「型のいろいろ」)
変数名には、使用できる文字は半角の英数文字とアンダーバー(_)のみ、先頭の文字は数字であってはならない、大文字と小文字は別の文字として扱われるなどの規則があります。
perl では、数値と文字列の明確な区別はありません。時と場合によって、数値として解釈されたり、文字列として解釈されたりします。
Perl でコメントを書くにはシャープ(#)記号を用います。シャープ記号(#)から行末までが コメント(注釈)と見なされます。コメントにはプログラムの補足説明などを記述しておきます。
#================================================ # 簡単な計算を行ってみます #================================================ $a = 8; # $a に 8 を代入します $b = 5; # $b に 5 を代入します $c = $a + $b; # $c に $a と $b の合計を代入します print "c = $c\n"; # $c の値を表示します
ただし、ファイルの先頭の #!/usr/local/bin/perl などの記述はコメントではなく、重要な意味を持ちます。(→「スクリプトを自己起動方式にする」)
スクリプト行の先頭に # を追記して、スクリプトが実行されないようにすることを コメントアウト と呼びます。
$a = 8; $b = 5; $c = $a + $b; # print "c = $c\n"; ← この行は実行されません
複数行を一度にコメントアウトしたい場合、各行の先頭に # を記述してもよいのですが、面倒な場合は、コメントアウトしたい部分の前後を if (0) { ... } で囲むと、その部分が実行されなくなります。
if (0) { $a = 8; $b = 5; $c = $a + $b; print "c = $c\n"; }