in reply to "use strict" not too strict

Because there are more ways of creating a subroutine than just declaring it. Look up the documentation for AUTOLOAD, for starters.

In other words, it's a feature, not a bug. Or rather, it is a bug, but a particularly nice one.

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

Note: All code is untested, unless otherwise stated