Lo que devuelve el método rot13() es una lista de elementos, así que debes tratarlo como tal.
Si has inicializado el objeto con un solo elemento, con charge(), entonces estamos hablando de una lista de un elemento. Y eso es lo que obtienes con rot13(): una lista de un elemento (el texto rotado), y eso es lo que devuelve la función encrypt_rot13: una lista de elementos de un solo elemento.
En el print de la línea 5, los operadores de concatenación obligan a tratar a los argumentos como escalares, y entonces la lista de elementos que devuelve encrypt_rot13 se trata en contexto escalar. Como solo hay un argumento, pues de ahí lo convierte en un '1', que es lo que estás viendo.
Entonces, lo que hay que hacer es tratar el resultado de encrypt_rot13() como una lista de elementos (tratarlo en contexto lista).
Esto es una forma:
Using perl Syntax Highlighting
print "Rot13 : " . join('' => encrypt_rot13($php_code)) . "\n\n";
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
El join() trata sus argumentos como listas. Otra forma:
Using perl Syntax Highlighting
print "Rot13 : ", encrypt_rot13($php_code), "\n\n";
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Sencillamente, el print() también trata su lista de argumentos en contexto lista.