sub insult { my $r = rand(); if ($r < 0.3) { return "You are " . bad() . "."; } elsif ($r < 0.60) { return others() . " cannot believe how " . bad() . " you are."; } elsif ($r < 0.90) { return "If I had " . money() . " for every time you " . didsomethingstupid() . ", I would be rich."; } else { return insult() . " " . insult(); } }