in reply to Re^4: subroutine memory variable scope
in thread subroutine memory variable scope

Well, I wasn't going to hand it to you on a plate! ;-)

Personally I'd do it do it along these lines:

sub analyse_user_inputs { my $r = shift; if (ref $r eq 'ARRAY') { return map { analyse_user_inputs($_) } grep ref, @$r } elsif (ref $r eq 'HASH') { return keys(%$r), map { analyse_user_inputs($_) } grep ref, va +lues(%$r) } else { return } }
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'