<div>Вообще здесь вопрос звучит более широко:</div><blockquote><div><div><div><div><div><div style="font-size:large"> </div><div style="font-size:large">Как зная ссылку на переменную (scalar, array or hash) найти её название?</div><div style="font-size:large">Perl интерпретатор как то же находит, справляется с этим.</div></div></div></div></div></div></blockquote><div>Как сейчас помню,</div><div>sub get_key_name {<!-- --><br />my $val = shift;<div>my ($pkg, $_, $_) = caller();<br /></div><div>return traverse_hashes($val, %{$pkg."::"});</div>}</div><div> </div><div>sub traverse_hashes {<!-- --></div><div>my ($val, $hash) = @_;<br />while (my ($k, $v) = each %$hash) {<!-- --></div><div>return $k if refaddr($v) == refaddr($val);<br />next unless ref $v eq "HASH";</div><div>my $ret = tracerse_hashes($val, $v);<br />return $ret if $ret;</div><div>}
</div>