「Perl言語」


 ここのところ、Perl関連のマニュアルばかり読んでいます。仕事がらみですが、このようなスクリプト言語を扱うのは、今まで手続き言語(COBOL)を扱ってきただけに取り付きにくかったけれど、門前の小僧よろしくというか、伊能忠敬も56才から17年かけて日本地図を完成していますから、というと大げさですが、たいしたことではないのですが、少し述べてみます。
 Perlは1986年に誕生した言語なので、かれこれ20年以上経っているから成熟していますがJavaに押されているように見えます。ナビックの会社設立はその2年後です。言語としてはJava(1995年5月にサンマイクロシステムズが開発、発表)より古いことになりますが、今はJava台頭の時代ですね。言語もはやり廃りがあるので、今後もまた新たな言語が登場してこないとも限りません。
 技術者にとってどの言語を習得するかは、その時の仕事の関わりと密接につながっていますが、僕がスクリプト言語をやったのは、はるか昔のDOSのバッチファイルぐらいなものです。それでも、今Perlは結構楽しんでやれています。Perlはインタープリタ形式で、Perlの参考書によると、特徴といえば、
 ⇒文字列の処理能力が強力⇒記述が簡単
 ⇒記述が柔軟⇒構文がCに似ている
 ⇒変数の扱いが簡単
 ⇒行や配列の長さに制限がない
 ⇒バイナリデータを扱うことができる
などが挙げられますが、最初、分からなかったのは条件文で、たとえば、変数$okというものがあったとして、
  if ($ok)  {真の処理} else {偽の処理};
これなど、$ok=1 となっているとこれが真の処理で、0、空だと偽の処理だとわかるまでに、しばらく時間を要しました。論理式だけしか頭になかったので、なぜ、{1}だと真になるのか唸ったのですが、おかげさまで今では、そういうものだと思えるようになりました。
 まだまだ、Perlの中で気づいたことはたくさんあって、C言語などを日常やっている技術者からすると、今更そんなことは常識になってしまうかもしれませんが、既存の知識の範囲でしか判断できない自分にとっては、全く未知のものなので新鮮なのです。
 テキストファイルの取込もOpenで取り込めてしまうのも、そういうものなのですね。Open(<ハンドル>,<"ファイル名">で、あとは、foreach(ループ)でデータの処理をするだけ。Readの感覚をもっていた僕には、そんな関数にあたるものがどこにもないので、うっとなってしまう始末。
 しかし、記述が柔軟というのは、表現が多少違っていても結果は同じということになるので、他人様のコーディングは、追っかけていくのにやはりPerlの熟練度がないと、とっつきにくいのは確かです。ただ、一つの言語として選択してやる分には、今がJavaの隆盛となってはいますが、Perlにだって興味を持てるし、どのような言語も使い込んでいけばおもしろいもので、片手間とは言え、ものにしていく楽しさがあるから、新人の気持ちでやっています。もっと他にやることははあるのですが、好きなことに熱中するのは、別なことで壁にぶつかったときの自分の中でのセオリーです。