#!/usr/bin/perl -w use strict; $_ = "A silly obfuscation:"; # Something to start with. $ # A buck for your thoughts? 0=0 # Yes, obviusly it is... ;$ # Got it backwards? _="utaohrpr akr"; # Special variable, filled with gibberish? map # Sure could use one here. {$,.='$'.++$0.$_} # Anonymous Hash? split # I'm about to... '' # An empty string? ;$ # Again?! _= # The gibberich here? "Dog and Pony" # Hey, that is me! ;$"=" # Can you quote an assignment? Js nte elhce # Barewords allowed? ";$" # Interpolating backwards var? =~s # For my tilde POD? / + # \w* ?\w* ?\w* ?\w* ?\w*\?//g;# Division plus a match inside '#'s? ;s # Oops, should be a dollar, not 's'? /$_/ # Matches itself? $"/ # Unterminated String constant? ;s # Same mistake again? / + # \w* ?\w* ?\w* ?\w* ?\w*\?//g;# Vaguely familiar....? $0=".";$" # Program is now current dir and our special var? =~ # Another, but empty tilde POD? s/($0)/($1)/g; # Replacing our program with itself? eval("s/\n$\"/$,/"); # Always, always use an eval in an obfu! :) print; # Now, what did we get...?