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/
Back to
Cool Uses for Perl