@oldstock = ("widgets:10:5",
"wodgets:4:2",
"spanners:5:3");
@newstock = ("screwdrivers:8:3",
"hammers:5:1",
"widgets:3:1");
####
@totalstock = ("widgets:13:6", # Both widget entries joined
"wodgets:4:2",
"spanners:5:3",
"screwdrivers:8:3",
"hammers:5:1");
####
my %stock = ();
my %shown = ();
# Build our records
foreach my $record (@newstock @oldstock) {
my ($name, $stock, $shown) = split(/:/$record);
$stock{$name} += $stock;
$shown{$name} += $shown;
}
# Print the result.
foreach my $name (keys %stock) {
print join(":",$name,$stock{name},$shown{name}),"\n";
}