my @combos = ( [qw(black white)], [qw(red white)], [qw(cyan red)], [qw(yellow blue)], [qw(magenta green blue)], [qw(cyan periwinkle raspberry)], ); #### sub r { my $g = shift; my $v = shift; my @ns = $g->neighbors($v); print $v."\n"; $g->delete_vertex($v); foreach my $n (@ns){ r($g, $n); } } while (scalar $g->vertices > 0){ print "next set:\n"; r($g, ($g->vertices)[0]); }