In this paper we study the following problem: how to divide a cake among the children attending a birthday party such that all the children get the same amount of cake and the same amount of icing. This leads us to the study of the following. A perfect k-partitioning of a convex set S is a partitioning of S into k convex pieces such that each piece has the same area and 1 k of the perimeter of S. We show that for any k, any convex set admits a perfect k-partitioning. Perfect partitionings with additional constraints are also studied.