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