Preheat oven to 350° F. Place stale bread in a bowl with milk and squeeze the bread with your hand until it is saturated with milk.
With an electric mixer on high speed in a separate bowl, beat eggs with sugar until thick and pale. Stir in the vanilla, cinnamon, butter, pecans and pineapple to the egg mixture. It is important to allow enough time for the bread to absorb the egg mixture or the bread crumbs will float to the top during baking, leaving a layer of custard on the bottom of the dish.
Transfer the mixture to a greased baking dish. Bake until firm, or until a knife inserted in the middle comes out clean, about 45 to 50 minutes. Let it slightly cool in the dish.
Meanwhile, near the end of the baking time, make the sauce. With an electric mixer, beat egg yolks until thick and pale. In a saucepan, melt the butter and sugar. Pour the butter and sugar mixture over the egg yolks, beating constantly with the mixer, until well thickened. Stir in bourbon by hand. Serve the pudding warm with vanilla ice cream if desired. Pass the hot bourbon sauce separately.