I agree with the previous posters that this is definitely a bug of some sort. Whether it ought to work, I'm less sure: perhaps it should just be forbidden to localise @_.
I tried your test code on a fairly recent development snapshot of perl, and the bug is still there. You should perlbug it. (Run the perlbug command and follow the instructions.)