use Data::Dumper;
print(Dumper(\%db));
####
foreach $key (keys(%db)) {
for ($record_num=0; $record_num<@{$db{$key}}; $record_num++) {
foreach $field (@{$db{$key}[$record_num]}) {
printf("Record %d of %s is %s.\n",
$record_num,
$key,
$field,
);
}
}
}
####
foreach $key (keys(%db)) {
foreach $record (@{$db{$key}}) {
foreach $field (@$record) {
...
}
}
}
####
# From ref to array of fields:
push(@{$db{$key}}, $record);
-or-
# From individual fields:
push(@{$db{$key}}, [ $field1, $field2, $field3, $field4 ]);
-or-
# From a my'd array of fields:
{ my @fields = ...; push(@{$db{$key}}, \@fields); }
-or-
# From a array of fields that will change:
push(@{$db{$key}}, [ @fields ]);
####
# Gives:
# key1,field1,field2,field3,field4
# key1,field1,field2,field3,field4
# key1,field1,field2,field3,field4
# key2,field1,field2,field3,field4
# key3,field1,field2,field3,field4
# key3,field1,field2,field3,field4
#
# Doesn't handle commas in key or field.
$,=',';
$\=$/;
foreach $key (keys(%db)) {
foreach $record (@{$db{$key}}) {
print $key, @$record;
}
}
-or-
# Gives:
# key1,0,field1,field2,field3,field4
# key1,1,field1,field2,field3,field4
# key1,2,field1,field2,field3,field4
# key2,0,field1,field2,field3,field4
# key3,0,field1,field2,field3,field4
# key3,1,field1,field2,field3,field4
#
# Doesn't handle commas in key or field.
$,=',';
$\=$/;
foreach $key (keys(%db)) {
for ($record_num=0; $record_num<@{$db{$key}}; $record_num++) {
print $key, $record_num, @{$db{$key}[$record_num]};
}
}