-
- if (ref $increase eq 'ARRAY') {
- for my $incrow (0 .. $#{$increase}) {
- while (my ($inccol, $subinc) = each %{ $increase->[$incrow] }) {
- $unit->{upgraded}->{$col}->[$incrow]->{$inccol}
- //= ref $unit->{$col}->[$incrow]->{$inccol}
- ? $unit->{$col}->[$incrow]->{$inccol}->[-1]
- : $unit->{$col}->[$incrow]->{$inccol};
- $unit->{upgraded}->{$col}->[$incrow]->{$inccol}
- += ref $subinc ? $subinc->[-1] : $subinc;
- }
- }
- }
- elsif ($increase =~ /^-?[0-9.]+/) {
- $unit->{upgraded}->{$col} //= $unit->{$col};
- $unit->{upgraded}->{$col} += $increase;
- }