Perl, 45 ไบต์
;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;
ตรงไปตรงมาสวยprint
อินพุต ( $_=<>
) ตามด้วยreverse
ของมัน reverse
ผลตอบแทน$_
เพราะเรากำลังใช้มันในบริบทเกลาโดย prefixing ~~
ด้วย จากนั้นเราจับคู่ ( m//
ใช้;
เป็นตัวคั่น) ในบริบทที่เป็นโมฆะตรงข้ามกับสคริปต์
หากเราสามารถรับประกันได้เราจะไม่ต้องสร้าง palindrome ของ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
ตั้งค่าสถานะซึ่งฉันคิดว่าไม่สามารถรวมเข้ากับเนื้อหาของสคริปต์เพื่อสร้าง palindrome ที่แท้จริงได้อย่างง่ายดาย ค่อนข้างโทรเหมือนเดิมข้างต้นยกเว้นมันขึ้นอยู่กับความจริงที่ว่า-p
ยังเพิ่ม;
เบื้องหลัง (บน Perls รุ่นใหม่ ... ) เพื่อปิดm//
เพื่อปิด
การใช้
echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven