$%=2,$"=6;$;=ord"\c?";print+map{$%*="@_[4,4, ]";$=-=$=;$=*=$%%=$;,$=+=ord,$=%=$;for@_;chr $=}@_=split?,*?,q=|f475!%L(wz)Hmqkcz?ar~x<m=

This one won't work correctly on an EBCDIC machine, I am afraid. But you can turn on strictures and warnings if you like.

Replies are listed 'Best First'.
Re: ASCII arithmetic
by hbm (Hermit) on Sep 29, 2010 at 18:41 UTC

    I understand what you are doing:

    $% = 2; $" = 6; $; = 127; @_ = qw(124 102 52 55 53 33 37 76 40 119 122 41 72 109 113 107 99 122 63 97 114 126 120 60 109); for (@_) { $= = 0; $% *= 565; for (@_) { $% %= 127; $= *= $%; $= += $_; $= %= 127; } print chr $= }

    But the beauty, I'm sure, is how you arrived at those numbers - and I'm left wondering.

Re: ASCII arithmetic
by ambrus (Abbot) on Sep 29, 2010 at 15:19 UTC