in reply to Caesar Shift
You can do it much more simply and without the arrays or the eval. Just rotate by 1 x 26 times and you are back to the start ie:
$_ = "Hello\n"; for my $i(1..26){ tr/a-zA-Z/b-zaB-ZA/; print; } [download]
cheers
tachyon