Perl, 45 octets
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Assez simple, c'est printl'entrée ( $_=<>) suivie de celle reverse-ci. reverserenvoie $_parce que nous l'utilisons dans un contexte scalaire en préfixant avec ~~. Ensuite, nous comparons (en m//utilisant ;comme délimiteur), dans un contexte vide, contre l'inverse du script.
Si nous pouvons garantir nous n'aurons pas à créer un palindrome de esrever,><=_$tnirpnous pouvons raccourcir le code à 43 octets :
g.print$_=<>,reverse.m.esrever,><=_$tnirp.g
Usage
echo -n 'neverod' | perl -e 'g.print$_=<>,reverse.m.esrever,><=_$tnirp.g'
neveroddoreven
Perl, 26 octets
Comprend un code de 25 octets + 1 pour -p.
$_.=reverse;m;esrever=._$
Je ne pense pas que cela soit valide car il nécessite le -pdrapeau qui, je pense, ne peut pas être facilement combiné dans le contenu du script pour faire un vrai palindrome. À peu près les mêmes appels que ci-dessus, sauf qu'il repose sur le fait qu'il -pajoute également un ;arrière-plan (sur les Perls plus récents ...) pour fermer le m//.
Usage
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven