You make a very good point, and one that I whole-heartedly agree with. As I said, I wouldn't use this sort of thing in real code, but I thought it's worth demonstrating that there are cases where it's quite useful to be able to declare a variable of static lifetime without having to create an enclosing scope. Yes, I see that it can be done with tie, though I usually avoid tied variables after having had a few nasty experiences with their performance. The requisite caller voodoo makes a tied implementation even less appealing.
in reply to my $foo if 0; is a bug
in thread It *is* a feature: mod_perl and 'my $x if 0'
s aamecha.s a..a\u$&owag.print