in reply to Re^5: File::Temp survival and scope created by "do"
in thread File::Temp survival and scope created by "do"

I concluded that it was not about what do returns but rather how many statements are included

Yes, your example definitely shed more light on the issue and made it clear my guess was wrong and it's not about the return value, I didn't mean to imply otherwise :-)