in reply to Re: array of array member access
in thread array of array member access

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

Replies are listed 'Best First'.
Re^3: array of array member access
by NetWallah (Canon) on Aug 09, 2016 at 18:05 UTC
    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