This might be a bit of a strange idea, but... suppose that for scoring, instead of using total number of bytes for the score, you used the total number of opcodes. The B module, or one of the backends invoked through -MO=<whatever>, would be used for finding out this info.
You would have to forbid the various ways that code can be hidden from perl's introspection, but that shouldn't be *too* much of a hardship for golfers. -- my $n = 2; print +(split //, 'e,4c3H r ktulrnsJ2tPaeh' .."\n1oa! er")[map $n = ($n * 24 + 30) % 31, (42) x 26]