http://www.perlmonks.org?node_id=406407


in reply to Golf: ROT-n

I couldn't find a shorter solution for the character-based approach. So this is different, maybe it can be made even shorter than 54.

# 1 2 3 4 5 # 3456789 123456789 123456789 123456789 123456789 123456789 eval'tr/a-z/'.chr(97+shift).'-za-z/for@ARGV;print pop'

update: changed spoiler hiding to standard way.

--
http://fruiture.de

Replies are listed 'Best First'.
Re^2: Golf: ROT-n
by dragonchild (Archbishop) on Nov 09, 2004 at 18:19 UTC
    Nicely done. I always forget the ins-and-outs of tr///. A few improvements:
    # 1 2 3 4 5 # 3456789 123456789 123456789 123456789 123456789 123456789 $_=pop;eval'y/a-z/'.chr(97+pop).'-za-z/';print

    And you're at 46 strokes

    Being right, does not endow the right to be rude; politeness costs nothing.
    Being unknowing, is not the same as being stupid.
    Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
    Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

      Hot++, i was currently at 50 (or 49) strokes. I never think of tr/// vs y///, though (successfully forgot about y/// for readability).

      # 1 2 3 4 5 # 3456789 123456789 123456789 123456789 123456789 123456789 eval'tr/a-z/'.chr(97+shift).'-za-z/,print for pop'
      --
      http://fruiture.de