Perl, 45 байт
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
Досить простий, print
s введення ( $_=<>
), а за ним reverse
його вхід . reverse
повертається, $_
тому що ми використовуємо його у скалярному контексті шляхом префіксації до ~~
. Тоді ми співставляємо ( m//
використовуючи ;
як роздільник), у недійсному контексті, проти зворотного сценарію.
Якщо ми можемо гарантувати, нам не доведеться створювати паліндром, esrever,><=_$tnirp
ми можемо скоротити код до 43 байт :
g.print$_=<>,reverse.m.esrever,><=_$tnirp.g
Використання
echo -n 'neverod' | perl -e 'g.print$_=<>,reverse.m.esrever,><=_$tnirp.g'
neveroddoreven
Perl, 26 байт
Включає 25 байт код + 1 для -p
.
$_.=reverse;m;esrever=._$
Я не думаю, що це дійсно, оскільки для цього потрібен -p
прапор, який, на мою думку, не може бути легко поєднаний у вміст сценарію, щоб створити справжній паліндром. В основному ті ж дзвінки, що й вище, за винятком того, що він також покладається на те, що -p
також додає ;
за кадром (на нових Perls ...), щоб закрити m//
.
Використання
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven