in reply to Obfu or another method?

Same here.

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

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.