Correct me if I'm wrong here, but I think what David wanted was an easy way
to reference other keys of an hash while creating one, ie:
How to do this, in a line:
%h = ( first = 10 );
$h{second} = $h{first} * 2;
Because, as I'm sure you know, this code (when run w/out strict):
Nathan Torkington wrote:
# making this part up
struct Person = [ qw(Name Age Height Weight) ];
# but once you have a named structure, you can say ...
my Person %nat;
with (%nat) {
$Name = "Nathan"; # rewritten to $nat{Name} at compile-time
...
}
It's kinda like
David L. Nicol writes:
okay but we still have the hiding issue, in case we want it to
What's the hiding issue? I must have missed that.
$one{two} is $one\two
$$one{two}{three} is $one\two\three
$$$one{two}{three}{four} is $one\two\three\four
Your left
David L. Nicol writes:
Do either of those expressions make sense in terms of
references to something? If not, then syntactically we
are in the clear. They don't, because currently it makes
no sense to butt a reference up to the LHS of anything.
It isn't any less clear than, for instance