Here is simple auto-obfuscator that translates perl code to /^[a-z ]+$/ equivalent.

#! /usr/bin/perl undef $/; $_ = reverse <>; s/./"s vv chr length q q" . ("a" x ord $&) . "q ve x\n"/egs; print $_ . "eval";

It uses half of alphabet for now: "aceghlnqrstvx". Is there some ways how to make it better?

Replies are listed 'Best First'.
Re: No more $$$
by ccn (Vicar) on Jul 17, 2004 at 20:01 UTC
    #!/usr/bin/perl -n0777 $obfu = ' chr length x eval or'; $obfu = substr $obfu x 255, 0, 255; ($head, $tail) = /\n__(DATA|END)__\n/ ? ($`, "$&$'") : ($_, ''); push @code, "s ss chr length q q" . substr($obfu, 0, ord $_) . "q se" for reverse split //, "$head;\$_=''"; print join (' x ', @code, "eval or chr length q q $obfu q", sort {rand 2} @code), $tail;
    This modification generates more funny code and does not break __DATA__ section