http://qs1969.pair.com?node_id=162052


in reply to (jeffa) 3Re: seeking different ways to slice a 2-d array
in thread seeking different ways to slice a 2-d array

I use it any time I would have used "use vars" in the past - to access package globals. The nice thing is that I can scope where that access is legal. So, if I've got a package global %CACHE and two routines read_cache and write_cache I can:
sub read_cache { our %CACHE; ... } sub write_cache { our %CACHE; ... }
And they'll access the same variable. But if I start refering to %CACHE inside some other routine I get an error just like if %CACHE had been a lexical. I like that.

So, I guess I'm pretty happy with our. The only reason I want more education is that I learned about lexical and package variables as totally separate!!! and now they ain't... Which is cool, but also pretty bizarre.

-sam