I was surprised that he spoke Japanese perfect.

英訳に間違いが有れば正してください。

彼が完璧な日本語を話すのには驚いた。
I was surprised that he spoke Japanese perfect.

答え
Japanese perfectlyにするかperfect Japaneseにする。

I was surprised that he spoke Japanese perfectly.
I was surprised that he spoke perfect Japanese.

perfectに副詞の用法はなし