Sure looks like a bug to me. I'd try it with the latest 5.9.x dev code - if it's still broken there then report it to perl5-porters. You can find details on how to do this in perlhack and perlbug.
-sam
Comment on Re: Strange behaviour when returning the value of "do {}" - possible perl bug?