in reply to old 2D hash construct
in the section on "$;" (or "$SUBSEP" in english) in perlvar it says
$foo{$a,$b,$c}
it really means
$foo{join($;, $a, $b, $c)}
If you refer to a hash element as
The place where it's still useful is if you are storing the hash in a database, and it sounds like your legacy code might be doing this. The caution is that you can't have data the same as the separator, so binary data needs to be escaped in some way.
Personally, I would change these the form to ' $hash{$key1 . $; . $key2}' to let people know what was going on a little better.
|
|---|