We get the quantity of a product shipped from the database, and a list of individual carton labels from an external file. The actual contents of each carton are unknown. Working assumption would be qty per carton = shipped qty / carton count. Easy enough. But what if the division doesn't come out clean?
use POSIX qw/ceil/;
...
$sq = $shipped_quantity;
$cc = $carton_count;
foreach $label(@label_list) {
if ($cc == 0) {
print "Qty per carton math error";
next OUTER;
}
$per_container = ceil($sq/$cc);
$sq -= $per_container;
$cc -= 1;
...
}
If shipped quantity is 8 and carton count is 5, first 3 cartons will have 2 each, last 2 have 1.
Yeah, almost too simple to mention. But this came up today, and I remember little code bits like this better when I write them down somewhere.
Update: s/box/carton/