The fault in your example lies entirely by the
package
package Person::Resumefied.
The code as given has only one way of setting the
job attribute, and that's by calling the
subroutine
Person::new. Your subclass is
taking over, it's constructor is defining all the objects
attributes. It's wrong to depend on a superclass to have
access to the attributes if you take control yourself.
Of course, the entire idea of doing OO programming, and
scribble all your attributes in a share hash is utterly
flawed, and is as bad as using nothing but global variables,
no namespaces and certainly no strict, but that's
a rant I've given many times already.
Abigail