Let G = × n i=1 C i be a direct product of cycles. It is proved that for any r 1, and any n 2, each connected component of G contains an r-perfect code provided that each i is a multiple of r n + (r + 1) n . On the other hand, if a code of G contains a given vertex and its canonical local vertices, then any i is a multiple of r n + (r + 1) n . It is also proved that an r-perfect code (r 2) of G is uniquely determined by n vertices, and it is conjectured that for r 2 no other codes in G exist other than the constructed ones.