sub leftover { my ($full, $part) = @_; my %count; $count{$_}++ for split //, $full; for (split //, $part) { return undef if --$count{$_} < 0; } return join "", map { $_ x $count{$_} } keys %count; }