http://www.perlmonks.org?node_id=1073028


in reply to Re^5: Creating flexible method accessor
in thread Creating flexible method accessor

The problem with 'walking the path' is that there is no guarantee that the path will be: ->{hash1}->{hash2}->{hash3}
It could be any combination of hashes, hashrefs, arrays, arrayrefs -- which is why I wanted to pass a *string* rather than a list (array) of hash keys.
  • Comment on Re^6: Creating flexible method accessor

Replies are listed 'Best First'.
Re^7: Creating flexible method accessor
by Anonymous Monk on Feb 02, 2014 at 04:20 UTC

    Then you might want to start looking into CPAN modules, for example a really quick search brings up Data::Path.

    Otherwise, although I would really try to avoid string eval as much as possible, when it is used it's best to limit its scope as much as possible: $self = eval qq{ \$self->$path }; die $@ if $@;