Code borrowed from here.
Let $P$ be a non-empty perfect set in $\mathbb{R}^k$. Then $P$ is uncountable.
Here's the definition of a perfect set:
Let $(X,d)$ be a metric space, and let $P \subset X$. Then $P$ is perfect if it is closed (i.e. it contains all of its limit points) and every point of $P$ is also a limit point of $P$.
Now here's the proof Rudin gives:
Since $P$ has limit points, $P$ must be infinite. Suppose $P$ is countable, and denote the points of $P$ by $x_1, x_2, x_3, \ldots$. We shall construct a sequence $\{V_n\}$ of neighborhoods as follows:
Let $V_1$ be any neighborhood of $x_1$. If $V_1$ consists of all $y \in \mathbb{R}^k$ such that $\vert y - x_1 \vert < r$, the closure $\overline{V_1}$ of $V_1$ is the set of all $y \in \mathbb{R}^k$ such that $\vert y - x_1 \vert \leq r$.
Supose $V_n$ has been constructed, so that $V_n \cap P$ is not empty. Since every point of $P$ is a limit point of $P$, there is a neighborhood $V_{n+1}$ such that (i) $\overline{V_{n+1}} \subset V_n$, (ii) $x_n \not\in \overline{V_{n+1}}$, (iii) $V_{n+1} \cap P$ is not empty. By (iii), $V_{n+1}$ satisfies our induction hypothesis, and the construction can proceed.
Put $K_n = \overline{V_n} \cap P$. Since $\overline{V_n}$ is closed and bounded, $\overline{V_n}$ is compact. Since $x_n \not\in K_{n+1}$, no point of $P$ lies in $\cap_1^\infty K_n$. Since $K_n \subset P$, this implies that $\cap_1^\infty K_n$ is empty. But each $K_n$ is non-empty, by (iii), and $K_n \supset K_{n+1}$, by (i); this contradicts the Corollary to Theorem 2.36.
Finally, here's Theorem 2.36:
If $\{K_\alpha\}$ is a collection of compact subsets of a metric space $X$ such that the intersection of every finite subcollection of $\{K_\alpha\}$ is nonempty, then $\cap K_\alpha$ is nonempty.
And, here's the Corollary to Theorem 2.36:
If $\{K_n\}$ is a sequence of nonempty compact sets such that $K_n \supset K_{n+1}$ ($n=1, 2, 3, \ldots$), then $\cap_1^\infty K_n$ is not empty.
I don't understand why it is always possible to construct $V_n$ with these properties. Does we choose random points and then denote them with numbers or we have to choose $x_n$ in some specific way ?
"Since every point of $P$ is a limit point of $P$, there is a neighborhood $V_{n+1}$ such that (i) $\overline{V_{n+1}} \subset V_n$, (ii) $x_n \not\in \overline{V_{n+1}}$, (iii) $V_{n+1} \cap P$ is not empty." I don't understand this part why there is exist $V_{n+1}$ such that (i) $\overline{V_{n+1}} \subset V_n$ and what does the limit point have to do with that .