Let $X$ be a topological space. Then, we say that $X$ is perfectly-$T_2$ or perfectly-hausdorff iff for every two distinct points $x_0,x_1\in X$, there is a continuous function $f\colon X\rightarrow [0,1]$ such that $\{ x_0\} =f^{-1}(0)$ and $\{ x_1\} =f^{-1}(1)$. That is, iff distinct points can be precisely separated by a continuous function.
Is the product of perfectly-$T_2$ spaces necessarily perfectly-$T_2$?
I think the answer is "No." because if two points in a product are distinct that just means that at least one pair of coordinates is distinct, so that, even if we precisely separated those distinct coordinates, you could still vary the others to obtain other points with values $0$ and $1$. On the other hand, I don't actually have a counter-example . . .
This seems to be false for arbitrary products but true for countable products.
Define $X:=\prod _{2^{\mathbb{N}}}\mathbb{R}$, that is, a product of $2^{\aleph _0}$ copies of $\mathbb{R}$. I claim that there is no continuous function $f:X\rightarrow [0,1]$ such that $f^{-1}(0)=(0,0,0,\ldots )$. We proceed by contradiction: let $f:X\rightarrow [0,1]$ be such a function.
For each $n\in \mathbb{Z}^+$, $f^{-1}([0,\frac{1}{n}))$ is an open neighborhood of $(0,0,\ldots )$, and so there are finitely many sets $S_1^n,\ldots ,S_{m_n}^n\in 2^{\mathbb{N}}$ and open sets $U_{S_1^n}^n,\ldots ,U_{S_{m_n}^n}^n\subseteq \mathbb{R}$ containing $0$ with $$ (0,0,\ldots )\in U_{S_1^n}^n\times \cdots \times U_{S_{m_n}^n}^n\times \prod _{\substack{S\in 2^{\mathbb{N}} \\ S\neq S_1^n,\ldots ,S_{m_n}^n}}\mathbb{R}\subseteq f^{-1}([0,\tfrac{1}{n})). $$ Taking the intersection over all $n\in \mathbb{Z}^+$, we find that $$ \bigcap _{n\in \mathbb{Z}^+}\left( U_{S_1^n}^n\times \cdots \times U_{S_{m_n}^n}^n\times \prod _{\substack{S\in 2^{\mathbb{N}} \\ S\neq S_1^n,\ldots ,S_{m_n}^n}}\mathbb{R}\right) =\{ (0,0,\ldots )\} . $$ However, for each $n\in \mathbb{Z}^+$, we only have finitely many sets $S_1^n,\ldots ,S_{m_n}^n$, and so in total we have only countably many subsets of $\mathbb{N}$ appearing at all. This means that there are still uncountably many coordinates in the above intersection which are equal to $\mathbb{R}$: a contradiction.
On the other hand, I think it is is true even for countably-infinite products. (Note that this proof has been heavily influenced by Andrey's answer and it would have likely taken me quite a bit longer to come up with this solution without first having seen that answer.)
Let $\{ X_m:m\in \mathbb{N}\}$ be a countable collection of perfectly-$T_2$ spaces and let $x,y\in \prod _{m\in \mathbb{N}}X_m$ be distinct. Define $S:=\{ m\in \mathbb{N}:x_m=y_m\}$, so that $S^{\mathrm{c}}:=\mathbb{N}\setminus S$ is nonempty.
First suppose that $S^{\mathrm{c}}$ is finite. For $m\in S$, let $g_m:X_m\rightarrow [0,1]$ be continuous and such that $g_m^{-1}(1)=\{ x_m\} =\{ y_m\}$. For $m\in S^{\mathrm{c}}$, let $f_m:X_m\rightarrow [-1,1]$ be such that $f_m^{-1}(1)=\{ x_m\}$ and $f_m^{-1}(-1)=\{ y_m\}$. Write $S^{\mathrm{c}}=\{ i_1,\ldots ,i_{m_0}\}$. Finally, define $f:\prod _{m\in \mathbb{N}}X_m\rightarrow [-1,1]$ by $$ f:=\left( \prod _{k\in S}g_k\right) \cdot \left( \frac{f_{i_1}+\cdots +f_{i_{m_0}}}{m_0}\right) . $$ (We have to work a bit harder to ensure that the product converges to a continuous function, but as that argument complicates the proof and is not part of the core idea, we postpone this correction until the end.)
We claim that $f(z)=+1$ iff $z=x$ and $f(z)=-1$ iff $z=y$. As the proofs are similar, we only prove the $x$ case. One direction is easy: if $z=x$, then each $g_k(z)=1$ and each $f_{i_k}=1$, and so $f(z)=1$. Conversely, if $f=1$, then as the absolute value of the 'average' term is bounded by $1$, if any $g_k(z)<1$, then the we would have $|f(z)|<1$, and so, we must have that each $g_k(z)=1$, which forces $z_k=x_k$ for all $k\in S$, as well as $\frac{f_{i_1}(z)+\cdots +f_{i_{m_0}}(z)}{m_0}=1$. As $f_{i_k}(z)\in [-1,1]$, this forces each $f_{i_k}(z)=1$, which in turn forces $z_k=x_k$ for all $k\in S^{\mathrm{c}}$, and so $z=x$.
Now suppose that $S^{\mathrm{c}}$ is infinite and enumerate $S^{\mathrm{c}}$ as $S^{\mathrm{c}}=\{ i_1,i_2,\ldots \}$. Let $g_m$ be as before, but now, for $i_k\in S^{\mathrm{c}}$, let $f_{i_k}:X_{i_k}\rightarrow [0,\frac{1}{2^k}]$ be such that $f_{i_k}^{-1}(\frac{1}{2^k})=\{ x_{i_k}\}$ and $f_{i_k}^{-1}(0)=\{ y_{i_k}\}$. Now define $f:\prod _{m\in \mathbb{N}}X_m\rightarrow [-1,1]$ by $$ f:=\left( \prod _{k\in S}g_k\right) \cdot \left( 2\sum _{k=1}^{\infty}f_{i_k}-1\right) $$ I claim once again that $f(z)=+1$ iff $z=x$ and $f(z)=-1$ iff $z=y$. This time the cases are a bit different and so we do them each separately. That $z=x$ implies $f(z)=+1$ and $z=y$ implies $f(z)=-1$ are easy. Conversely, suppose that $f(z)=1$. Similarly as before, this forces each $g_k(z)=1$, so that $z_k=x_k$ for all $k\in S$, and hence $2\sum _{k=1}^{\infty}f_{i_k}(z)-1=1$, and hence $\sum _{k=1}^{\infty}f_{i_k}(z)=1$. As $f_{i_k}(z)\leq \frac{1}{2^k}$, this forces $f_{i_k}(z)=\frac{1}{2^k}$ for all $k\in S^{\mathrm{c}}$, and hence $z_k=x_k$ for all $k\in S^{\mathrm{c}}$, and hence $z=x$, as desired. Now suppose that $f(z)=-1$. As the absolute value of the second term is bounded by $1$, we cannot have that any $g_k(z)<1$, and so once again we have each $g_k(z)=1$, so that $z_k=y_k$ for all $k\in S$, and hence $2\sum _{k=1}^{\infty}f_{i_k}(z)-1=-1$, and hence $\sum _{k=1}^{\infty}f_{i_k}(z)=0$. As all of these terms are nonnegative, this forces each $f_{i_k}(z)=0$, so that $z_k=y_k$ for all $y\in S^{\mathrm{c}}$, and hence $z=y$, as desired.
Correction: This is basically correct (I hope fingers crossed), but we have to work a bit harder in order to be sure that $\prod _{k\in S}g_k$ actually converges to a continuous function. To do so, it suffices to show that $\sum _{k\in S}\ln (g_k)$ converges to a continuous function, and to do this, we want to show that the partial sums of this series are uniformly-cauchy. So, enumerate $S=\{ j_1,j_2,\ldots \}$ and take the codomain of $g_{j_k}$ to be $[2^{2^{-k}},1]$. This ensures that the codomain of $\ln (g_{j_k})$ will be $[-2^{-k},1]$, which should be enough to ensure that the partial sums of $\sum _{k=1}^{\infty}\ln (g_{j_k})$ are uniformly-cauchy, as desired.