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/

Dum Spiro Spero