+-----中級編/2-----+
真里:加藤真里 シレ:シレスト=ノイデルファーム
シレ:さて……中級編では既存のPerl CGIを改造できるというレベルにまで持っていきたいと思っています。ふつうのフリーウェアで出回っているような掲示板などに機能を追加するといった程度までですね。
真里:まどろっこしいの嫌いじゃなかったの?
シレ:いくらなんでも最初から「はい白紙から作ってみましょう」はひどいでしょう。
真里:ま、まぁ……確かに(汗)突然いろいろなんか命令とか並べられて、さてこれで作れますねぇとか言われても誰だってどーしようもないもん。
シレ:前置きはこのくらいにして、さっそく基礎に入ります。まずは基本的な決まりごとから。
●コメント(実行時には無視される文字)は"#"から改行まで。
例: #ここがコメントです
●文の終わりには";"(セミコロン)をつける。
例: print "I am
Shillest.";
●基本的に半角英数文字で書く。
例: ○ print × print
●大文字/小文字は区別されるので注意
例: ○ print × PRINT
……この程度ですね。前の項(中級編/1)に書いたスクリプトをあわせて見れば何となく感じがつかめるとは思います。
真里:……あのさ、2番目に「文の終わりには」って書いてあるけど……要するに「行の終わりには」じゃないの?
シレ:別に「行の終わりには」と理解してもあまりさしつかえありません。……ただし、わざわざ「文」と言ったのには理由がありまして、例えば2番目の例 print "I am Shillest."; は
print
"I am Shillest."
;
と書いてもちゃんと実行できますし、逆に
print "I am Shillest.";print "I am Shillest.";print "I am Shillest.";
と書くとちゃんと3回実行してくれます。……こんな見にくい書き方をする人もあまりいませんが。
わかりにくいのでしたら「Perlでは改行はただのスペースとほとんど一緒の扱いになり、代わりに";"が改行みたいのものをあらわす」と理解してください。これで十分ですから。
真里:……ふむふむ。
シレ:もう1つ注意点です。3番目の「半角英数文字で書く」ですが、これはスペースも含めて半角で書かなければならないということです。つまり、
print "I am Shillest.";(←全角スペース)
と書くと「こんなところに意味不明の命令書いたらいかんぞ」とPerlに怒られることになります。ただし、
print "わたしはシレストです";
print 'わたしはシレストです';
というふうに、クオート/ダブルクオートでかこまれた部分には日本語(全角文字)を使うことはできます。これにかこまれると「中身は命令じゃなくてただのテキストですよ〜」と示していることになるので、ちゃんとエラーが起こらず動いてくれるというわけです。
真里:ところで、クオートとダブルクオートって……これって何か違いあるわけ?
シレ:……これは、次回から「変数」について話しますので、その後あたりで説明する予定です。
[次回に続く……]