in reply to Revolving door blessing.

I agree with chromatic - you're overcomplicating things. You're 'temporarily' blessing a hash in class oo::gui::defaultjob that was already blessed in $oldclass. You then perform some oo::gui::defaultjob magic on it and rebless it into the old class.

This is a case for inheritance: have oo::job inherit from oo::gui::defaultjob (as chromatic suggests) and then you can just do the magic in oo::job. The methods that are not found in oo::job will be searched for in oo::gui::defaultjob.

And as to nastiness, just consider what you're doing above: your constructor of class oo::gui::defaultjob returns an instance of class oo::job...

CU
Robartes-