sub Foo::new { bless {}, shift } sub Foo::Switch { print "Switch @_\n" } Main(); sub Main { Switch { "Foo" }; Switch { new Foo }; Switch { return }; # just returns } Switch { }; # this dies __END__ Switch Foo Switch Foo=HASH(0x24a5338) Can't call method "Switch" without a package or object reference at ...