in reply to use Very::Long::Module::Name as Foo;
Here's a different way, also using a 'as.pm', but no source
filters. Usage:
And this is the code:use as Name => "Very::Long::Class::Name", args ...;
package as; use strict; use warnings; sub import { my $class = shift; die "Usage: 'use as Name => Very::Long::Class::Name [args...]'" unless @_ >= 2; my $caller = caller (); my ($short, $long) = splice @_ => 0, 2; no strict 'refs'; @{"${short}::ISA"} = $long; eval <<" --"; package $caller; require $long; $short -> import (\@_) if $short -> can ("import"); -- die $@ if $@; } 1;
This follows a similar syntax as 'use if CONDITION, MODULE => ARGS'.
Abigail
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: use Very::Long::Module::Name as Foo;
by liz (Monsignor) on Oct 14, 2003 at 15:33 UTC |
In Section
Meditations