so Switch {} is trying to invoke method Switch with an argument (without parens) that is the result of a block, but the block "never ends?" due to the return. Is that it?
Interesting theory, and I did forget about Indirect Object Syntax. It's easy to test, but as it turns out it's unlikely this is what's going on here, due to the returns used everywhere in that code. We still need more information from OP.
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 .. +.
In reply to Re^5: Switch.pm Failure ( CGI::Switch? )
by haukex
in thread Switch.pm Failure
by tultalk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |