note
gam3
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.
<code>
{
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;
</code>
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.
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-424604">
-- gam3<br/>
<small>A picture is worth a thousand words, but takes 200K.</small>
</div></div>
580619
580619