The other big problem with
our() is that it is
advertised as a replacement for
use vars:
NOTE: The functionality provided by this pragma has been
superseded by our declarations, available in Perl v5.6.0
or later. See the our entry in the perlfunc manpage.
But there are several things that
vars does that
our() doesn't do. The benefit, as you point out, is a very
limited gain of functionality, and the cost is that there is yet one more
subtly different feature complicating Perl's byzantine
scoping and namespace rules.