oo-array.txt
package Foo;
BEGIN {
my $i = 0;
my @keys = qw/NAME AGE ADDRESS/;
for my $sub (@keys) {
*$sub = sub { $i };
$i++;
}
}
sub new {
my $class = shift;
my @info = ("my name", "my age", "my address");
return bless \@info, $class;
}
sub get_name {
return shift->[NAME];
}
sub get_age {
return shift->[AGE];
}
sub get_address {
return shift->[ADDRESS];
}
1;
#=============================================================================
package Foo;
{
no strict;
my $i = 0;
my @keys = qw/NAME AGE ADDRESS/;
for my $sub (@keys) {
${$constant} = $i;
$i++;
}
}
sub new {
my $class = shift;
my @info = ("my name", "my age", "my address");
return bless \@info, $class;
}
sub get_name {
return shift->[$NAME];
}
sub get_age {
return shift->[$AGE];
}
sub get_address {
return shift->[$ADDRESS];
}
1;