a breakdown:
#
# put two strings into @_. equivilent code:
#
# @_ = (
# "ll h4xorZ!!! 7o get 7t3 26th Zi6...\nU warEZ it, 3nt3r 63,79,256
+!\nY?? So wi7h 626 @ xp3r7, EZ Qui37!!!\n",
# " pa5t s37 p01nter! R07FL!\ndont g8 32 bux! 00 i5 #2, c! 0!!\nor
+you WILL g8 h48X0rD!\n^ZZ 2"
# );
#
@_= (q
All h4xorZ!!! 7o get 7t3 26th Zi6...
U warEZ it, 3nt3r 63,79,256!
Y?? So wi7h 626 @ xp3r7, EZ Qui37!!!
A,q U pa5t s37 p01nter! R07FL!
dont g8 32 bux! 00 i5 #2, c! 0!!
or you WILL g8 h48X0rD!
^ZZ 2U);
#
# filter out certain characters from $_[0]. equivilent to:
#
# @$ = grep {/[1337+256=H4X0R]/}split//, $_[0];
#
# which is the same as:
#
# @$ = qw(4 7 7 3 2 6 6 3 3 6 3 7 2 5 6 7 6 2 6 3 7 3 7);
#
@$= &{sub{grep {/[1337+256=H4X0R]/} split//, $_[0]}};
#
# do the same to $_[1]. equivilent to:
#
# @@ = qw(a 5 3 7 0 1 e 0 7 8 3 2 0 0 5 2 c 0 8 4 8 0 2);
#
@@= grep {/[f00-678=ace]/} split//, $_[1];
#
# loop through the two arrays at once, getting a hex value for each
# char by concatenating items from each array
#
print join '', map{chr hex} map{qq q$$[$_]$@[$_]q}(0..@$-1);