小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

Perlでのシンボルテーブル

Perlでは、よくシンボルテーブルという単語が登場します。
シンボルとは、変数名などの「名前」のことで、テーブルとは、抽象的には「空間」のことです。
この「名前空間」に変数名などが登録されているわけです。


Perlの場合、名前空間には、シンボルテーブルとレキシカルスコープの2種類があります。
さらに、この2種類の下に各々、ファニー文字($,@,%とか)毎に部分名前空間があります。


変数をmy宣言するとレキシカルスコープに登録されローカル変数になります。
変数をour宣言するとシンボルテーブルに登録されグローバル変数になります。
ただし、グローバル変数といっても、mainモジュール以外の変数は、モジュール名での修飾が必要です。


ということで、Perlでのシンボルテーブルには、グローバル変数が登録されています。
もちろん、グローバル変数以外にもいろいろ入っています。以下参照。