Perl, 45 byte
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Abbastanza semplice, print
è l'input ( $_=<>
) seguito dal reverse
suo. reverse
ritorna $_
perché lo stiamo usando in un contesto scalare prefissando con ~~
. Quindi abbiniamo ( m//
usando ;
come delimitatore), in un contesto vuoto, contro il contrario dello script.
Se possiamo garantire che non dovremo creare un palindromo di esrever,><=_$tnirp
cui possiamo abbreviare il codice a 43 byte :
g.print$_=<>,reverse.m.esrever,><=_$tnirp.g
uso
echo -n 'neverod' | perl -e 'g.print$_=<>,reverse.m.esrever,><=_$tnirp.g'
neveroddoreven
Perl, 26 byte
Include 25 byte codice + 1 per -p
.
$_.=reverse;m;esrever=._$
Non penso che questo sia valido poiché richiede la -p
bandiera che non credo possa essere facilmente combinata nei contenuti della sceneggiatura per creare un vero palindromo. Praticamente le stesse chiamate di cui sopra, tranne che si basa sul fatto che -p
aggiunge anche un ;
dietro le quinte (su Perls più recenti ...) per chiudere m//
.
uso
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven