in reply to Duh. What am I missing about inherited constructors?

Your problem is Foo::new which should be Foo->new

With use warnings; you'll get: Can't call method "SUPER::new" on an undefined value at...

-- Ken