my @list = ('A' .. 'Z'); chomp(my $s = ); my @arr = split('', $s); @arr = map { $list[(scalar(@list) + ord($arr[$_]) - ord('A') - ($_ + 1)) % scalar(@list)] } (0..$#arr); print join('', @arr) . "\n";