I have a hash structure(s) that I would like to store within the array +, for example like a new record within a table. Here is my code:
#!/usr/bin/perl -w use strict; use Data::Dumper; # The objective of the application is to demonstrate # how to use # Build an array of hashes. my @data2 = ( { "DR"=>[0,0,0,0,0], "SAT ITAMS"=>[0,0,0,0,0], "PROD ITAMS"=>[0,0,0,0,0] } ); # End of the array. my @data=({}); my $work_request = { "DR"=>[0,0,0,0,0], "SAT ITAMS"=>[0,0,0,0,0], "PROD ITAMS"=>[0,0,0,0,0] }; for ( my $indx = 0; $indx <=2; $indx++){ # Make a reference to the hash reference my $work_package = \%{$work_request}; # The hash should be constructed dynamically? foreach my $key (keys %{$work_package}){ 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"; } print"\n"; # Add the hash reference to the array #push (@data, %{$work_package}) push (@data, \%{$work_package}); } # Printing out the array of hashes list. # Now is print out the array of hashes. for ( my $indx = 0; $indx <=2; $indx++){ # Make a reference to the hash reference my $work_package = pop(@data); # The hash should be constructed dynamically? foreach my $key (keys %{$work_package}){ #print "$key\t"; my @list = @{$work_package->{$key}}; for (my $a_id=0; $a_id <= $#list; $a_id++) { print " $list[$a_id]\t"; } print "\n"; } print"\n"; } The output I get is the following: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
I haven't be able to preserve the values. Can someone help me?
In reply to Array of dynamic Hash how to preserve the values by ckandreou
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |