# Our decode string my @decode = ( 67,111,112,121,114,105,103,104,116,32,169,32,50,48,48,48,32,65,99,116,105,118,101,83,116,97,116,101,32,84,111,111,108,32,67,111,114,112,46); # Our encoded string my @encoded = ( 96,78,82,90,86,76,65,79,92,9, 131,11,30,29,30,31,16,112,81,71, 93,67,83,100,76,88,78,94,28,105, 81,80,44,42,96,46,48,51,106,6, 41,55,49,59,35,44,36,57,110,230, 112,99,98,99,100,117,23,52,44,48, 44,62,15,41,63,43,5,42,119,14, 13,15,68,38,9,21,24,71,41,4, 28,20,28,6,23,25,6,83,221,85, 68,71,72,73,90,58,31,9,23,124, 70,114,86,66,80,64,6,115,71,70, 70,11,111,66,92,95,30,114,93,67, 77,71,95,80,80,77,26,146,28,15, 14,15,112,42,98,34,54,42,50,32, 21,51,41,61,47,107,24,34,33,35, 112,18,61,33,36,123,21,56,40,32, 40,50,59,53,42,127,201,42,17,81, 82,83,68,36,5,19,1,31,15,56, 24,12,26,10,80,37,29,28,24,85, 53,24,10,9,84,56,19,13,7,120, 74,70,74,87,4,140,6,21,24,25, 26,11,109,78,90,70,70,84,97,71, 85,65,83,23,108,86,85,87,28,126, 81,77,48,36,96,46,50,58,54,44, 33,47,60,105,227,107,126,125,126,127, 112,16,49,39,61,35,51,4,44,56, 46,62,124,9,49,48,12,42,96,14, 16,19,74,38,9,23,17,27,3,12, 4,25,78,198,80,67,66,67,68,85, 55,20,12,16,12,30,47,9,31,126, 21,82,61,1,27,76,2,16,7,29, 7,14,46,10,80,13,26,12,71,13, 26,67,198,68,91,94,87,17,124,47, 65,79,99,); # Our unecoded string my @unencoded; for my $char (@encoded){ # XOR the encoded string with the decode character push @unencoded, ($char ^ $decode[0]); # Rotate the decode string push @decode, shift @decode; } for my $char (@unencoded){ if ($char == 10){ # Print a newline if the charater is 10 print "\n"; } else { # Print out the unencoded string print chr($char); } }