Perl, 45 octets
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Assez simple, c'est print
l'entrée ( $_=<>
) suivie de celle reverse
-ci. reverse
renvoie $_
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,><=_$tnirp
nous 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 -p
drapeau 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 -p
ajoute é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