One thing is for sure, until you explain to us why you are "trying to create a set of dynamically named hashes, with an array of references pointing to them" we will probably miss your point. :)
Is there some reason why an anonymous hash won't do exactly what you need without having to have an additional array? After all, you can always create a dynamic list of the hashes keys and values whenever you want.
| [reply] [d/l] [select] |
lol, the reason for me using "no strict" was due to a fundamental lack of understanding :-)
Kennethk's post below has cleared it up a bit for me (see comment).
my $hash_ref = {one => "number"};
my $i = 0;
$hash_ref->{"a"} = "letter";
push @array, $hash_ref;
$hash_ref = {}; #This "resets" or creates a new reference?
%{$hash_ref} = (banana => "fruit",
carrot => "vegetable");
push @array, $hash_ref;
I thought if you used the same name then it would alter the same hash. So to narrow down my understanding gap... anonymous hashes.
If I am still fundamentally wrong here then please let me know :-)
Cheers!
| [reply] |
| [reply] [d/l] [select] |
Sorry, I answered your question But then you are going to have to create a dynamically named anonymous hash? and ignored the "named" part, because anonymous and named are contradictory.
Whenever you think you want variables with variable names, you can just use a hash. In this case you then have a Hash-of-Hash structure. If you want variable named variables nonetheless, search for weak references. | [reply] |