Perl, 45 bytes
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Bastante sencillo, print
es la entrada ( $_=<>
) seguida de la reverse
de ella. reverse
devuelve $_
porque lo estamos usando en contexto escalar con el prefijo ~~
. Luego emparejamos ( m//
usando;
como delimitador), en contexto vacío, contra el reverso del guión.
Si podemos garantizar que no tendremos que crear un palíndromo esrever,><=_$tnirp
, podemos acortar el código a 43 bytes :
g.print$_=<>,reverse.m.esrever,><=_$tnirp.g
Uso
echo -n 'neverod' | perl -e 'g.print$_=<>,reverse.m.esrever,><=_$tnirp.g'
neveroddoreven
Perl, 26 bytes
Incluye código de 25 bytes + 1 para -p
.
$_.=reverse;m;esrever=._$
No creo que esto sea válido ya que requiere la -p
bandera que no creo que pueda combinarse fácilmente en el contenido del script para hacer un verdadero palíndromo. Casi las mismas llamadas que antes, excepto que se basa en el hecho de que -p
también agrega un;
detrás de escena (en Perls más nuevos ...) para cerrar el m//
.
Uso
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven