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