sub recursive_mult_by_100() { if (!ref) { $_ *= 100 } elsif (ref eq 'ARRAY') { recursive_mult_by_100 for @$_ } elsif (ref eq 'HASH') { recursive_mult_by_100 for values %$_ } else { die "Unhandled data type ".ref; } } recursive_mult_by_100 for $deep;