But, using () on use disables any call to import, so that's a complicating factor to using this syntax.
Your last point: If I understand, suppose Module::Foo is not itself versioned via redirecting it to Foo_old or Foo_new. It's simply named Foo. It might contain an explicitly-coded run-time check to see if the client wants new behavior or old behavior. It can find out by calling a method on the blessed %EXPORT definition. If Foo calls _helper which then needs to know, it does it the same way.
Ah, but that behavior is coded into the function directly and won't care if I call the imported link or the direct function, since they both work the same. So a switch to enable/disable the versioning is not going to mean anything to it. But there is no confusion, since the user asked for a specific version of Foo, regardless of what else he asked for. (It implies that I need per-function memory on this, rather than a single setting)
—John
In reply to Re: (tye)Re: How should this work ? (design of Exporter::VA)
by John M. Dlugosz
in thread How should this work ? (design of Exporter::VA)
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |