Perlが嫌いな理由ベスト3

Perlが嫌いな理由ベスト3(勝手に)

1. 変数にいちいち $ を付けるのが面倒

2. 文末のセミコロン ; を付け忘れてしまうことが…

3. とにかく、見た目からしてイヤだ!

こんな感じで「Perlの仕様が嫌いだ」などと言うと、Perlプログラマからは決まって次のように反論される。「言語仕様の美しさなんてどうでもいい。ちょこちょこっと書けば現実的に問題を解決できるのがPerlのいいところ」と。

ただ、私がPerlを嫌いなのは、Perlがまさに「ちょこちょこっと書けば現実的に問題を解決できる」ようにできていないからなのだ。Perlインタプリタの複雑怪奇な挙動を理解しないままコードを「ちょこちょこっと」書いていると、すぐにバグ入りプログラムができあがってしまう。敷居が低そうなのは見かけだけなのだ。

というわけで、私の「Perlが嫌いな理由ベスト3」は次のとおり。

  1. 変数はグローバル変数がデフォルトだが、my や local でローカル宣言した後はローカル変数になる。
    • どこか離れた別の場所でローカル宣言されているかどうかを確認しなければ、ローカル変数かグローバル変数か区別できない。
  2. あらゆる型の変数のリファレンスがすべてスカラ型である。
  3. オブジェクトのインスタンス変数がハッシュで実現されている。