Perl, 45 bytes
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Bem simples, print
é a entrada ( $_=<>
) seguida pela reverse
. reverse
retorna $_
porque o estamos usando no contexto escalar prefixando com ~~
. Em seguida, combinamos ( m//
usando ;
como delimitador), no contexto nulo, contra o reverso do script.
Se pudermos garantir, não precisaremos criar um palíndromo, esrever,><=_$tnirp
pois podemos reduzir o código para 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
Inclui código de 25 bytes + 1 para -p
.
$_.=reverse;m;esrever=._$
Eu não acho que isso seja válido, pois requer a -p
bandeira que eu acho que não pode ser facilmente combinada com o conteúdo do script para criar um verdadeiro palíndromo. Praticamente as mesmas chamadas acima, exceto que se baseia no fato de que -p
também adiciona um ;
segundo plano (nos Perls mais recentes ...) para fechar o m//
.
Uso
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven