'average-color' => sub { if ($_[2]->[-1] eq 'fruit') { # parent tag is return 'fruit-average-color' => $_[1]->{_content}; } elsif ($_[2]->[-1] eq 'fruits') { # parent tag is return 'global-average-color' => $_[1]->{_content}; } else { # anything else, discard return undef; } },