http://www.perlmonks.org?node_id=1031137


in reply to Re^2: Traversing a complex data structure searching for certain keys and printing their values
in thread Traversing a complex data structure searching for certain keys and printing their values

To fix the first problem, just prepend % to the indicated reference variables.

To the rest, I cannot say more than "Good luck".

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^4: Traversing a complex data structure searching for certain keys and printing their values
by newperluser2013 (Novice) on Apr 29, 2013 at 02:22 UTC

    Thanks ever so much for your help choroba I have made the changes you suggested and this is now working perfectly :-) Just one thing if you can help. In the sample data structure I posted there is a @dev tag in this and I need to get this value prepended to each line of output. I mustn't hardcode this though. I have other hashes of hashes defined under this whole @dev section which are called @build and @software (which both have loads of mount definitions in )and to each of the lines printed when I parse these I need to prepend the corresponding tag @build/@software. Would you be able to help me with what I need to do here please?

      I hope the hints I have given should be enough for you to hack a solution yourself. If there are details you still do not grasp, feel free to ask a new question, but do not await we do your work for you.
      لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

      Just one other thing would you know what I would need to do to this sub routine so that I could get different output formats? For example I still need to pass in @keylist to the subroutine to make sure all the keys are there but I want to also parse in an output format string aswell. So for example if I wanted to print all the lines like this:

      %export_name:%filer_device:%filer_volume

      or print them with every value like this:

      %export_name:%filer_device:%filer_volume:%mount_acl:%mount_group:%moun +t_user:%mount_opts

      So I want to be able to pass in $output_format to this function. $output_format equates to one of the strings above. So I could the run funtion like this:

      recurse_hash(\%$decoded_json_obj, {}, @keylist, $output_format);
Re^4: Traversing a complex data structure searching for certain keys and printing their values
by newperluser2013 (Novice) on Apr 29, 2013 at 01:30 UTC

    Thanks alot for all your help. As regards prepended % to these variables. Please can you show me where I need to do this? I have tried doing this and I am still getting errors :-(

Re^4: Traversing a complex data structure searching for certain keys and printing their values
by newperluser2013 (Novice) on Apr 29, 2013 at 01:31 UTC

    Thanks alot for all your help. Can you show me where I need to prepend % please?