Trim any visible fat from the surface of the ham and place cut side down in a roasting pan. Pour enough milk over the ham so that it ends up about 5mm deep in the bottom of the roasting pan. Use your hands to pack the ham in a generous coating of brown sugar. Cover the brown sugar with a layer of crushed pineapple, packed on in the same manner. It is okay to have a few bare spots but try not to. Cover the ham with aluminium foil and refrigerate overnight.
Preheat the oven to 180 degrees C.
When the oven is hot place the ham still covered in foil into the oven. Roast for 30 minutes. After 30 minutes remove the aluminium foil and baste with any juices that have accumulated in the bottom of the pan. Continue roasting for 30 more minutes, or until ham is heated through.