As for the shortening approach, putting the package name in a variable works reasonably well. Putting the package name in a constant somewhat works. Both will work with the direct syntax, but not the indirect, my differing judgements on them are that people who don't understand the magic are (at a guess) more likely to accept the syntax error from the variable than from the constant. That is:
It would, I guess, be possible to use source filtering to both set a constant and to rewrite indirect method calls. I wouldn't trust it too much though...my $short = 'Very::Long::Module'; use constant Short => 'Very::Long::Module'; # Later the following work: $short->new(@args); Short->new(@args); # The following do not: new $short(@args); # I'm guessing unsurprising? new Short(@args); # Possibly puzzling?
In reply to Re: Re: Re: Re: Re: use Very::Long::Module::Name as Foo;
by tilly
in thread use Very::Long::Module::Name as Foo;
by liz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |