sub factorial { my ($n) = @_; if ($n == 0) { return 1; } return $n * factorial($n - 1); }