This is how far I was when I realized I should be tracking time.
first test (fail!)
second test, looks better but I haven't checked it yet
output of the sanity check is encouraging, I think this is probably right
looks good with three (output in commit)

$VAR1 = [
          [],
          [
            'a'
          ],
          [
            'b'
          ],
          [
            'b',
            'a'
          ],
          [
            'c'
          ],
          [
            'c',
            'a'
          ],
          [
            'c',
            'b'
          ],
          [
            'c',
            'b',
            'a'
          ]
        ];
closing computer for landing
opening computer at layover
duh.  changing to for
test with grab_em (returned empty, fail)
oh, I didn't have strict on...duh
doh, need to use Data::Dumper
also +Dumper or it looks like a filehandle
geez, I guess parens required here
comment saying I passed test 1
added some tests, looks good so far

$VAR1 = \[
            [
              'apple'
            ]
          ];
got $VAR1 = [
          'banana',
          'apple'
        ];
from $VAR1 = {
          'apple' => 3,
          'banana' => 4
        };
got $VAR1 = [
          'banana',
          'da_other_fruit',
          'apple'
        ];
$VAR2 = [
          'coconut',
          'banana',
          'apple'
        ];
from $VAR1 = {
          'apple' => 3,
          'banana' => 3,
          'da_other_fruit' => 1,
          'coconut' => 1
        };
one more test, improved fruit naming convention

got $VAR1 = [
          'banana',
          'apple'
        ];
from $VAR1 = {
          'banana' => 4,
          'apple' => 3
        };
got $VAR1 = [
          'apple',
          'banana',
          'coconut'
        ];
$VAR2 = [
          'da_other_fruit',
          'apple',
          'banana'
        ];
from $VAR1 = {
          'da_other_fruit' => 1,
          'coconut' => 1,
          'banana' => 3,
          'apple' => 3
        };
got $VAR1 = [
          'another_one',
          'six'
        ];
$VAR2 = [
          'seven'
        ];
$VAR3 = [
          'one',
          'six'
        ];
$VAR4 = [
          'also_three',
          'three',
          'another_one'
        ];
$VAR5 = [
          'also_three',
          'one',
          'three'
        ];
from $VAR1 = {
          'also_three' => 3,
          'one' => 1,
          'seven' => 7,
          'three' => 3,
          'another_one' => 1,
          'six' => 6
        };
Merge branch 'master' into up_master

just pulling the work I did into the github version...