{ batchplot_output_filename => "gps3", plot_all_variables => 'off', # DEFAULT PLOTS & VALUES default_values => [ { profiles => [qw(prof1 prof2)], linewidth => ["2"], single_dotnotes => 'On', legend => ["On"], }, ], #BEGIN CUSTOM PLOTS custom_plots => [ [ { yvars => 'LATDIIP', xvars => 'ELONGI', }, ], ] } #### 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); }