Code is a language used by people to be understood both
by the machine and other people. Obfuscated is this very
same language used in a way that only the machine can
understand (though other people can try and understand what the $@%&* you tried to do...)
If obfuscated can can automatically be translated
(by -MO=Deparse for example), it's not really
worth it. Using $" to mean space or $^F
for 2 is not really that intersting. I won't talk about
the use of crypt() to get the string
you want after hours of computing... (besides, it depends on the local crypt(3) system call, so
it's not portable).
Automatically obfscating code is like producing
automated poetry. Who wants to read and understand that?
So yes better obfuscated code is not the product of
poorly written code. To my mind, it's the result
of a process: the alteration of an algorithm so that
not many people can understand what the machine is
doing, and how. Even though the variables values
are know, and the whitespace is still here.
(no I don't know why I posted this here, but I'll
do a long something about obfuscation here when my thoughts are clear on this issue...)