# old loop code
########################################
my $diff= easy( \@a, \@b );
while( @$diff ) {
my( $same, $aMin, $aMax, $bMin, $bMax )=
splice @$diff, 0, 5;
# ...
}
# new loop code
########################################
my $diff= easy( \@a, \@b );
my $same= 0;
while( @$diff ) {
my( $aMin, $bMin, $aMax, $bMax )= @$diff;
# ...
splice @$diff, 0, 2;
# ...
}
Ouch! Precisely what I wanted to avoid: a modification in the number of items. Well, you could export a constant for this number, whether it be 2 or 5.
BTW if memory efficiency is what you're worried about, why don't you just use 1 scalar for each item? After all, these are all just integers, so messing with pack()/unpack() or vec() would allow you to combine them, in one scalar. Only an 8 (or 20) byte
string per item! The joy! The savings! (The pain!)