What should this mean?
package Foo;
sub Bar::baz is export { ... }
The problem is in how callers request this export.
use Foo <baz>;
Looks weird, as this demonstrates:
package Foo;
sub baz is export { "I am Foo::baz" }
sub Bar::baz is export { "I am Bar::baz" }
Clearly, if this is allowed at all, the use line should import Foo::baz.
But this looks wrong:
use Foo <Bar::baz>
In fact the only way this makes sense to me at all is if Bar::baz had
already been exported by Bar, and now Foo wants to change the meaning of
that sub. The "is export" trait is just for formal signature matching /
documentation purposes then. What is the scope of this override?
--
Gaal Yahas <[EMAIL PROTECTED]>
http://gaal.livejournal.com/