in reply to Array of dynamic Hash how to preserve the values
for ( my $indx = 0; $indx <=2; $indx++){
That is usually written as:
for my $indx ( 0 .. 2 ) {
# Make a reference to the hash reference my $work_package = \%{$work_request};
You have a hash reference in $work_request which you then dereference as %{$work_request} and then get a reference to the original hash with \%{$work_request}. You can accomplish the same thing more simply with:
my $work_package = $work_request;
my @list = @{$work_package->{$key}}; for (my $a_id=0; $a_id <= $#list; $a_id++) { $list[$a_id]=$indx; print " $list[$a_id]\t"; } print "\n";
You are copying the contents of @{$work_package->{$key}} to @list so any changes to the contents of @list will disapear when the loop ends. The for loop is usually written as:
for my $a_id ( 0 .. $#list ) { $list[$a_id]=$indx; print " $list[$a_id]\t"; }
|
|---|