sub analyse_user_inputs { my $hashORarray_ref = shift @_; my @the_inputs; foreach ( keys %{$hash_ref} ){ # print "$_ \n"; push(@the_inputs , $_); if (ref $hash_ref->{$_} eq 'HASH') { analyse_user_inputs($hash_ref->{$_}); } elsif(ref $hash_ref->{$_} eq 'ARRAY'){ foreach my $array_element (@{$hash_ref->{$_}}){ # if(ref $info eq 'ARRAY'){ # foreach my $element (@{$info}){ # analyse_user_inputs($element); # } # } # if (ref $info eq 'HASH') { analyse_user_inputs($array_element); # } } } } print Dumper(\@the_inputs); return(\@the_inputs); }