$%=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.
In reply to ASCII arithmetic by martin
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |