$_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJ
HAAHHJJJHJPPHPHJAJPHAAPHAJJHHJHAHA}};\s+\s++s+
y?JAPH?0-3?;s;(.)(.)(.);(map{ord>0130?uc:(),uc
}q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~
/./g)[$1*16+$2*4+$3];eg;s;\w+;\L\u$&;g;{print}
####
$_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJ
HAAHHJJJHJPPHPHJAJPHAAPHAJJHHJHAHA}};
\s+\s++s+
y?JAPH?0-3?;
s;(.)(.)(.);(map{ord>0130?uc:(),uc
}q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~
/./g)[$1*16+$2*4+$3];eg;
s;\w+;\L\u$&;g;
{print}
##
##
1 $_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA}};
2 \s+\s++s+y?JAPH?0-3?;
3 s;(.)(.)(.);
(map { ord > 0130
? uc
: () , uc }
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~/./g)[$1*16+$2*4+$3];
eg;
4 s;\w+;\L\u$&;g;
5 {print}
##
##
$ perl
$_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA}};
\s+\s++s+y?JAPH?0-3?;
s;(.)(.)(.);
(map { ord > 0130
? uc
: () , uc }
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~/./g)[$1*16+$2*4+$3];
eg;
Bareword found where operator expected at - line 9, near "eg"
(Might be a runaway multi-line ;; string starting on line 4)
(Missing semicolon on previous line?)
##
##
1 $_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA}};
2 \s+\s++s+y?JAPH?0-3?;
3 s;(.)(.)(.);(map{ord>0130?uc:(),uc}q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaau
ujj}=~/./g)[$1*16+$2*4+$3];eg;
4 s;\w+;\L\u$&;g;
5 {print}
##
##
1 $_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA}};
2 \s+\s++s+y?JAPH?0-3?;
3 s;(.)(.)(.);tadman($1,$2,$3);eg;
4 s;\w+;\L\u$&;g;
5 {print}
6. sub tadman
{
my ($f, $s, $t) = @_;
( map { ord>0130?uc:(),uc }
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~/./g)
[$f*16+$s*4+$t]
}
##
##
$_=do{q}HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA}};
##
##
use strict;
use warnings;
my @friends = qw ( Aaron Donald Roger etc );
my @family = qw)Mom Dad Brother Sister etc);
foreach ( @friends ) { print $_, " is a friend\n" }
foreach ( @family ) { print $_, " is family\n" }
##
##
$ perl -e '$_ = do{q(Hello World)}; print $_,"\n"'
Hello World
##
##
\s+\s++s+y?JAPH?0-3?;
##
##
$ perl
$_='HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA'; \s+\s++s+y?JAPH?0-3?;
print;
__END__
330321210010200311001103013102303132203113300030223230102311231003303131
##
##
$ perl
$_='HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA';
tr/JAPH/0123/;
print;
__END__
330321210010200311001103013102303132203113300030223230102311231003
303131
##
##
$ perl
$_='HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA';
s/\n//g;
print;
__END__
HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJHHJHAHA
##
##
$ perl
$_='HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJH
HJHAHA';
s/\s+//s;
print;
__END__
HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJHAAHHJJJHJPPHPHJAJPHAAPHAJJHHJHAHA
##
##
s/\s+//s;
vs
\s+\s++s+
##
##
$ perl
$_='hello
world';
\s+\s++s+;
print $_;
__END__
syntax error at - line 3, near "+;"
Execution of - aborted due to compilation errors.
##
##
$ perl
$_='hello
world';
\s+\s++s+tr/JAPH/0123/;
print $_;
__END__
helloworld
##
##
s/\s//s and tr/JAPH/0123/;
##
##
if ( s/\s//s ) { # if we remove a space char, where "space" includes \n...
tr/JAPH/0123/; # ...then do this tr/ansl/ation/
}
##
##
3 s;(.)(.)(.);tadman($1,$2,$3);eg;
4 s;\w+;\L\u$&;g;
##
##
$ perl -e '$_ = "hello world"; s/(hello)/uc $1/g; print $_,"\n"'
uc hello world
$ perl -e '$_ = "hello world"; s/(hello)/uc $1/ge; print'
HELLO world
##
##
while ( /(.)(.)(.)/g ) {
tadman ( $1, $2, $3 );
}
##
##
4 s;\w+;\L\u$&;g;
##
##
$ perl -e '$_ = "hello world"; s;\w+;\L\u$&;gx; print $_,"\n"'
Hello World
$ perl -e '$_ = "HELLO WORLD"; s;\w+;\L\u$&;gx; print $_,"\n"'
Hello World
##
##
$ perl -e '$_ = "hello world"; $_ = ucfirst($_); print $_,"\n"'
Hello world
$ perl -e '$_ = "HELLO WORLD"; s;\w+;\L\u$&;gx; print $_,"\n"'
HELLO WORLD
##
##
{print}
##
##
sub tadman
{
1 my ($first, $second, $third) = @_;
2 ( map { ord>0130?uc:(),uc }
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~/./g)
[$first*16+$second*4+$third]
}
##
##
#!/usr/bin/perl
use strict;
use warnings;
my $line = 'Bond, James Bond|007|Secret agent|Walther PPK|etc|etc|etc';
my @fields = split /\|/, $line;
my $occupation = $fields[2];
print "$occupation man\n";
exit;
##
##
#!/usr/bin/perl
use strict;
use warnings;
my $line = 'Bond, James|007|Secret agent|Walther PPK|etc|etc|etc';
my $occupation = ( split /\|/, $line )[2];
print "$occupation man\n";
exit;
##
##
2 ( map { ord>0130?uc:(),uc }
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj}=~/./g)
[$first*16+$second*4+$third]
##
##
( # open paren to force list context
map # will be followed by BLOCK and LIST
# Here's the BLOCK:
{ ord > 0130 ? uc : (), uc }
# so this must somehow be acting as a LIST
q{KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj} =~ /./g
# Finally, close paren and index into the list
)[$first*16+$second*4+$third]
##
##
sub tadman
{
my ($first, $second, $third) = @_;
my $index = $first * 16 + $second * 4 + $third;
my @key = split /|/, 'KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj';
( map { ord > 0130 ? uc : (), uc } @key )[ $index ];
}
##
##
#
# { ord > 0130 ? uc : (), uc }
#
if ( ord $_ > 0130 ) { # if [ord] of $_ is > than 130...
$_ ; # just return $_
} else { # otherwise
(), $_ ; # return undef *and* $_
}
##
##
#!/usr/bin/perl
use strict;
use warnings;
# starting data
$_ = 'HHJHPAPAJJAJPJJHAAJJAAJHJAHAJPHJHAHPPJ
HAAHHJJJHJPPHPHJAJPHAAPHAJJHHJHAHA';
# strip newline within $_
s,\s,,s;
# turn letters in $_ into numbers
tr/JAPH/0123/;
# turn every 3 numbers into a single character
s;(.)(.)(.);tadman($1,$2,$3);eg;
# do some case mapping
s;\w+;\L\u$&;g;
# show the deciphered message
{print}
sub tadman
{
# $1, $2, and $3 from the substitution
my ($A, $B, $C) = @_;
# be upfront about math
my $index = $A * 16 + $B * 4 + $C;
# here's the data from whence comes the non-trademarked message
my @key = split /|/, 'KnKttiIMRsROhOppllrr y ssLfL cWEdEaauujj';
# here's the uncompressed data, that we can now index into
my @expanded_key = map { ord > 0130 ? $_ : (), $_ } @key;
# pull out the $index-th letter from @expanded_key
my $value = $expanded_key[$index];
return $value;
}