#!/usr/bin/perl use strict; use warnings; use kitchen qw(kitchenSink dishwasher); my $sink = new kitchenSink; my @dirties = kitchenSink->get('DIRTIES'); my $washer = new dishwasher( 'dry_method' => 'heat', 'wash_cycle' => 'high' ); while (@dirties) { $washer->load(shift @dirties) while (not $washer->is_full); $washer->add('detergent'); $washer->add('rinse_agent') if ($washer->has_a('rinse_agent_dispenser')); $washer->close('door'); $washer->run; my @clean = $washer->unload; while (@clean) { put_away($_, getLocation($_)); } } print "We're done!\n";