in reply to How I can collect values out of complex tree structure that are located at chained keys matching a pattern? Without using a loop, that is.

When you want to create an array from certain elements of another array, think map:
@InterestingThings = map { $root[2][ $_ ][3] } ( 0 .. 3 );
Hope this helps!
The way forward always starts with a minimal test.
  • Comment on Re: How I can collect values out of complex tree structure that are located at chained keys matching a pattern? Without using a loop, that is.
  • Download Code

Replies are listed 'Best First'.
Re^2: How I can collect values out of complex tree structure that are located at chained keys matching a pattern? Without using a loop, that is.
by CountZero (Bishop) on Nov 08, 2015 at 02:58 UTC
    Of course map is for all intents and purposes just a loop, only it is written somewhat more compact than your more obvious for loop.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics
Re^2: How I can collect values out of complex tree structure that are located at chained keys matching a pattern? Without using a loop, that is.
by Anonymous Monk on Nov 07, 2015 at 19:22 UTC

    That's done it, thank you! You're absolutely right, I don't know how map didn't occur to me! I guess I've only ever thought of using it for whatever data my program is working on, not for data about the program itself.