sub make_var_hash{
my $xml = @_[0];
my %myhash;
my $name;
my $localname;
my $defaultval;
#
#read the xml file extract the data and add to the following hash
#UPDATE sorry this line should be
$myhash{$name} = [$localname,$defaultval];
#NOT $myhash{$name} = ($localname,$defaultval);
#end the loop
return \%myhash;
}
####
$hash1 = make_var_hash('MOR2305.xml');
foreach $key (keys($hash1)){
print "$key = $$hash1{$key}[0] & $$hash1{$key}[1]\n";
}
####
START = MOR_START & 60
FINISH = MOR_FINISH & 150
etc....
####
sub get_suite_vars{
my %suite;
my ($job_vars, $job);
my @jobs = ('MOR2305.xml', 'MOP4312.xml', 'IN543.xml');
foreach $job ($job_vars){
$job_vars = make_var_hash($job);
$suite{$job} = $job_vars;
}
return \$suite;
}
####
sub get_suite_vars{
my %suite;
my ($job_vars, $job);
my @jobs = ('MOR2305.xml', 'MOP4312.xml', 'IN543.xml');
foreach $job ($jobs){
$job_vars = make_var_hash($job);
#UPDATE for anyone interested the error was here
#In my original code I had foreach $key($job_vars){
#SORRY
foreach $key (keys($job_vars)){
print "$key = $$job_vars{$key}[0] & $$job_vars{$key}[1]\n";
}
$suite{$job}=$job_vars;
}
return \$suite;
}
####
START = MOR_START &
ARRAY(0x1930fo30) = &
FINISH = MOR_FINISH &
ARRAY(0x1931eaf0) = &
etc....