tie変数
tie変数は普通の変数のように見えて実はオブジェクトな変数。
スカラーのtie変数の書き方
(ほとんどプログラミングPerl丸うつし)
use strict; package Person; sub TIESCALAR { bless (\my $name, shift); } sub STORE { ${$_[0]} = $_[1]; } sub FETCH { ${$_[0]}; } package main; tie my $person, "Person"; $person = "kotaro"; print $person, "\n";
実行結果
kotaro
FETCHは参照の時に呼ばれるので、例えば
sub FETCH { "person" }
とすると、どんな値を入力してもpersonが出力される。
用法がいまいち頭に浮かばないなぁ。
ざっと概要を知るにとどめ、本格的に使う必要が出てきたら深く理解しようかな。