in reply to making arrays that act like hashes at runtime
Just for completeness' sake (as the others here said, it is propably not a good idea to use this 'feature'):
a quote from "Object Oriented Perl" by Damian Conway:
--- <quote>
<quote> You can add new entries to a pseudo-hash, but it's a two step procedure. First, you add a new key-to-index mapping:
which would translate to something like this in your example:
---- kurt
a quote from "Object Oriented Perl" by Damian Conway:
--- <quote>
<quote> You can add new entries to a pseudo-hash, but it's a two step procedure. First, you add a new key-to-index mapping:
which maps the key "z" onto the first unused index in the pseudo-hash array. After that, you can access the new entry directly, to assign it a value:$pseudo_hash->[0]->{"z"} = @{$pseudo_hash};
</quote> ---- </quote>$pseudo_hash->{"z"} = "value z";
which would translate to something like this in your example:
my $a = [ {first=>1, second=>2}, "hello", "there" ]; print "$a->{first}\t$a->{second}\n"; $a->[0]->{'third'} = @{$a}; $a->{'third'} = "foo"; print "$a->{first}\t$a->{second}\t$a->{third}\n";
---- kurt
|
---|
In Section
Seekers of Perl Wisdom