in reply to array of array member access

I'd like to help on this, but without runnable sample code, and in the absence of visibility into the data structure in memory, it is difficult to devine what the issue might be.

Your code tends to use C-style loops, with parallel indices incrementing. This is somewhat error-prone. As an alternative, I'd suggest:

        "Software interprets lawyers as damage, and routes around them" - Larry Wall

Replies are listed 'Best First'.
Re^2: array of array member access
by t-rex (Scribe) on Aug 09, 2016 at 06:50 UTC

    Hello, thanks for the reply, but the entire code is too big to be pasted, thats y i have pasted the code which i think can be useful , nevertheless if u wish i can put the entire code.

    also i figured that the problem lies in my data structures , the way i take the references ( since i am new to perl mostly i have coded in c and assembly so maybe it will take some time to get used to this).

    basically for each of my members in target list i have to run all the elements of rulesfile referenced i.e.

    for eg: rulesfile: [*rulesid_02,*rulesid_01] target_list: [*runid_01,* runid_04]

    so here runid_01 should run with rulesid_02 as well as rulesid_01 , similarly runid_04 should run with rulesid_02 as well as rulesid_01

    where rulesfile pointing to respective fields is rules_file: - rules_file_id: &rulesid_02 name: tpsm_rulesfile_BE hostname: - rules_file_id: &rulesid_03 name: test3 hostname: - rules_file_id: &rulesid_04 name: test4 hostname: and target_list referes to : run_target_platforms: - run_target_id: &runid_01 target_controls: run_target_type: simulator #simulator, emulator , hardware run_target_active: yes target_connection_info: run_target_hostname: - run_target_id: &runid_02 target_controls: run_target_type: hardware #simulator, emulator , hardware run_target_active: yes target_connection_info: run_target_hostname: NA

    I hope you see the rpoblem lies in my taking these data structures. i have deleted some fields to avoid complication

      OO-style programming can help overcome some of the complexities you are experiencing.

      From what you have described, I see 2 primary objects:
      * Rule
      * Target

      Each of these will have properties and methods.

      You could create other object classes that handle collections of these base objects, but initially, I'd suggest you keep that in your main code.

      Inside the "Target" class, you can have a method to run a single RULE, and another method to run an array or RULEs. (Or you could reverse that, an have a RULE run on a set of Targets).

      Once the basic underlying mechanics are setup, you can work on arrays of these objects.

      You will not regret the decision to invest in learing the OO way. And we monks are here to help.

              "Software interprets lawyers as damage, and routes around them" - Larry Wall