in reply to japh's japh II
$_ is assigned a string value, then eval'd. Inside the eval, $_ still contains all the code being executed, which then becomes the raw data for the code too.
Everything before 'unpack' is filler. @_ is empty so the for loop is never executed.
The print/length/split lines do this: compute how many spaces (including EOL) lie between the words in the string, subtract one (turning 1 1 2 1... into 0 0 1 0...), turn it backwards (the spacing was more aesthetically pleasing that way), pack that binary string then unpack it to ascii ('japh') and print.
The word I was looking for was 'steganography', the science of hiding data within other data. This JAPH, as it turns out, is a watered-down version of the encryption that folks suspected Bin Laden's henchmen used to communicate via pictures on eBay and porn sites. And here I thought I was being original.
There's More Than One Way To Communicate Fiendish Plans Of Destruction To Your Terrorist Operatives, apparently.
Update: cogent coined the term steganobfuscation for exactly this sort of thing :)
|
|---|