You should probably read the Moose::Manual first. The manual explains Moose concepts without being too code-heavy.
In this particular instance, we use a blessed glob reference as the instance instead of a blessed hash reference.
If you are creating your own metaclasses, you may need to hook into the immutabilization system. This cuts across a number of spots, including the metaclass class, meta method classes, and possibly the meta-instance class as well.
This recipe shows you how to write extensions which immutabilize properly.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.