package Parent; require ('./parent.cfg'); package Parent::Child; @ISA=('Parent'); require ('./child.cfg'); package Parent::Child2; @ISA=('Parent'); require ('./child2.cfg'); package Parent::Child::Grandchild; @ISA=('Child'); require ('./grandchild.cfg'); #### $config={ string=>"bla", array=>['val1','val2'], hash=>{ foo=>'bar', }, # etc, put any valid perl data structure here }; #### in parent.cfg #... list=>['val1','val2','val3'], in child.cfg #... list=>['val1','val2','val3','FOO','BAR'], #### parent.cfg: %config=( # complex data structur ) child.cfg: config_add('newval',$datastruct); config_remove('DontNeedThisHere'); config_push('array',$newval,$anotherval); # and some other data manipulation routines