I believe it might have been harder to accomplish without an OO design.
package Q;sub n{my$l=$_[1];my$s;$l=~tr/A-Za-z/N-ZA-Mn-za-m/;$s->{S}=[ $l=~/[a-z]/?'a'..$l:$l=~/[A-Z]/?'A'..$l:$l];$s->{L}=$l;bless$s,$_[0]} sub g{shift(@{$_[0]->{S}})||$_[0]->{L}}1;package main;;$|++;push @p,Q ->n($_)for split//,q!Whfg nabgure Crey unpxre.!;for('A'..'Z'){print$_ ->g()for@p;select$b,$b,$b,.18;print"\r"}
Enjoy!
Dave
In reply to ASCII Spindles by davido
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |