When high tech doesn't work try low tech. The code:
#!/opt/CAV1perl/bin/perl
$~ = '`';
print "`A ";
$_ = $: = $~ | '%';
print "B $_\n";
$; = $^ = '/' | $~;
print "C $;\n";
++$;;
print "D $;\n";
$\ = $~ | q['];
print "E $\\n";
++$;;
print "F $;\n";
$: .= ++$;;
print "G $:\n";
$/ = ++$;;
#print "H $\\n";
++$\;
print "I $\\n";
$_ .= '#' | $~;
print "J $_\n";
$, = ++$/;
print "K $,\n";
$_ .= '#' | $~;
print "J $_\n";
$, = ++$/;
print "K $,\n";
$_ .= qq[$\$^$"];
print "L $_\n";
++$,;
print "M $,\n";
$_ .= 'N';
print "P $_\n";
$_ .= qq[$,$;$/$"];
print "Q $_\n";
$_ .= '!.' | $~ . $~;
print "R $_\n";
$_ .= qq[$^$/$\$:$"];
print "S $_\n";
$_ .= 'P';
print "T $_\n";
$_ .= $:;
print "U $_\n";
$_ .= $^ & '|';
print "V $_\n";
$_ .= $" . $\;
print "W $_\n";
$_ .= "$~$~$~" | '!#+';
print "X $_\n";
++$.;
print "Y $.\n";
++$.;
print "Z $.\n";
`$_$:,>&$.`;
print "0 $_ AND $: , >& $.\n";
Produces:
perl t.pl
`A B e
C o
D p
E g
gF q
gG er
gI h
hJ ec
hK t
hL echo
hM u
hP echo N
hQ echo Nust
hR echo Nust an
hS echo Nust another
hT echo Nust another P
hU echo Nust another Per
hV echo Nust another Perl
hW echo Nust another Perl h
hX echo Nust another Perl hack
hY 1
hZ 2
hNust another Perl hacker,
0 echo Nust another Perl hack AND er , >& 2
Obviously not perfect but you can figure out what they did.
|