[proofplan]
We use the ternary characterisation of $\mathcal{C}$. Given $x \in \mathcal{C}$ and $\varepsilon > 0$, we construct an explicit sequence of points $y_n \in \mathcal{C}$ converging to $x$ by flipping a single ternary digit at position $n$. The distance $|x - y_n| = 2 \cdot 3^{-n}$ tends to zero, placing $y_n$ within the $\varepsilon$-ball of $x$ for $n$ sufficiently large.
[/proofplan]
[step:Represent $x \in \mathcal{C}$ via its ternary expansion]
Let $x \in \mathcal{C}$. By the [Ternary Characterisation of the Cantor Set](/theorems/1196), $x$ has a unique ternary expansion
\begin{align*}
x = \sum_{k=1}^{\infty} \frac{a_k}{3^k}, \qquad a_k \in \{0, 2\} \text{ for all } k \in \mathbb{N}.
\end{align*}
The uniqueness of this expansion follows from the fact that the only ternary ambiguity (terminating vs. repeating $2$'s) cannot arise when digits are restricted to $\{0, 2\}$: a terminating expansion in $\{0,2\}$ digits would require a digit of $1$ in the repeating form.
[/step]
[step:Construct points $y_n \in \mathcal{C}$ converging to $x$ with $y_n \ne x$]
For each $n \in \mathbb{N}$, define $y_n$ by flipping the $n$-th digit of $x$:
\begin{align*}
y_n := \sum_{k=1}^{\infty} \frac{b_k}{3^k}, \qquad b_k := \begin{cases} a_k & \text{if } k \ne n, \\ 2 - a_n & \text{if } k = n. \end{cases}
\end{align*}
Since $a_n \in \{0, 2\}$, the flipped digit $2 - a_n$ also lies in $\{0, 2\}$, so $b_k \in \{0, 2\}$ for every $k$. By the [Ternary Characterisation](/theorems/1196), $y_n \in \mathcal{C}$.
Moreover, $b_n = 2 - a_n \ne a_n$, so $y_n \ne x$.
[guided]
The digit flip $a_n \mapsto 2 - a_n$ is the unique nontrivial involution on $\{0, 2\}$: it sends $0 \mapsto 2$ and $2 \mapsto 0$. This ensures that the new digit remains in the allowable set $\{0, 2\}$ while being distinct from the original digit.
Why flip a single digit rather than, say, inserting a new point between $x$ and a nearby endpoint? The ternary representation makes single-digit changes the most natural way to produce nearby points in $\mathcal{C}$, because the difference between $x$ and $y_n$ is localised to a single term of the series.
[/guided]
[/step]
[step:Estimate $|x - y_n|$ and conclude perfectness]
Since $x$ and $y_n$ agree in all digits except the $n$-th,
\begin{align*}
|x - y_n| = \left| \frac{a_n}{3^n} - \frac{2 - a_n}{3^n} \right| = \frac{|2a_n - 2|}{3^n} = \frac{2}{3^n}.
\end{align*}
Given $\varepsilon > 0$, choose $N \in \mathbb{N}$ such that $2 \cdot 3^{-N} < \varepsilon$ (which holds for any $N > \log(2/\varepsilon) / \log 3$). Then $y_N \in \mathcal{C}$, $y_N \ne x$, and $|x - y_N| = 2 \cdot 3^{-N} < \varepsilon$.
Since $x \in \mathcal{C}$ and $\varepsilon > 0$ were arbitrary, every point of $\mathcal{C}$ is a limit point of $\mathcal{C}$, so $\mathcal{C}$ is perfect.
[/step]