in reply to Variable Name Mistery. Who calls?
If you take ikegami's idea one more step. You can
enforce the variable name and save a little typing.
However you get odd syntax.
This does not have the same syntax, but does get you the same result with about the same number of words. And you get pretty good error detection.{ package Foo; sub new { my ($class, $id) = @_; my $self = { id => $id }; my ($package) = caller; ${$callpkg."::".$id} = bless $self, $class; undef; } sub method { my ($self, $name) = @_; print $self->{id}, "\n"; } } Foo->new('one'); Foo->new('second'); $one->method; $second->method;
-- gam3
A picture is worth a thousand words, but takes 200K.
A picture is worth a thousand words, but takes 200K.
In Section
Seekers of Perl Wisdom