Stir together the milk, tapioca, sugar, and salt in a medium saucepan. Bring the mixture to a boil over medium heat, stirring constantly. Reduce heat to low; cook and stir 5 minutes longer.
Whisk 1 cup of the hot milk mixture into the beaten eggs, 2 tablespoons at a time until incorporated. Stir the egg mixture back into the tapioca until well mixed. Bring the pudding to a gentle simmer over medium-low heat; cook and stir 2 minutes longer until the pudding becomes thick enough to evenly coat the back of a metal spoon. Remove from the heat and stir in the vanilla. The pudding may be served hot or poured into serving dishes and refrigerated several hours until cold.