Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Re: Re: Re: Re: use Very::Long::Module::Name as Foo;

by tilly (Archbishop)
on Oct 15, 2003 at 03:04 UTC ( #299325=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Re: use Very::Long::Module::Name as Foo;
in thread use Very::Long::Module::Name as Foo;

Re-using load was not intentional, I was just looking for a name that made that line read relatively nicely, and I was in a hurry because I was late for work.

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:

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?
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...


Comment on Re: Re: Re: Re: Re: use Very::Long::Module::Name as Foo;
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://299325]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2014-09-19 03:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (129 votes), past polls