lvalue。
あら、いやだ。
attribute なんてあったんだね、perl。
package Test;ほへー。 : lvalue だってよ。use strict;
sub new {
my $me = shift;
bless {}, $me;
}
sub name : lvalue {
shift->{'name'};
}
1;
#!/usr/bin/perl -wははー、便利なような、そうでもないような。use strict;
use lib '/home/anigon/attribute';
use Test;
my $objTest = Test->new();
$objTest->name = 'anigon';
print $objTest->name ."\n"; # anigon と表示される
exit;
もっと MODIFY_CODE_ATTRIBUTES とか使いこなせば面白いんだろうなぁ。
参考:「Perlでプラガブルモジュールを作ろう!」