in reply to Obfu or another method?

Same here.

This is perl, v5.8.1-RC3 built for darwin-thread-multi-2level

The problem seems to be that \&( is not evaluating to the CODE(...) address that the OP expects. The OP is looking for an address matching /0x...[02468][def][4567def][ace]/ and (in my case) the coderef address is 0x8012c4.

Update: Version 2 gives the same error here. No "japh" message is printed. Is the OP running Perl on Microsoft Windows?

Since \&( does not match the regex I posted, the value of $* ends in ~kw/org here rather than ~owoorg, so the substitution on $=[0] fails because \w doesn't match a /. Even if it succeeded, the subsequent eval would attempt to define the subroutine Hkw/org (giving a Search pattern not terminated error) instead of defining the subroutine Howoorg as the OP intended.