sub parameter { ... return NameValTuple->new( name => $name, val => $val ); } #### sub parameter { ... return map { +{ name => $_, val => $rv{$_} } } keys(%rv); } #### print $_->name, ': ', $_->val, "\n" for $objA->parameter( 'a.x' ); #### print $_->{name}, ': ', $_->{val}, "\n" for $objA->parameter( 'a.x' );