Alan, I'm really no expert a this kind of stuff, but does this do what you want:
use Inline ( Java => 'STUDY', STUDY => ['java.io.File'], ) ; BEGIN { %{File::} = %{java::io::File::} ; } my $f = new File("/tmp") ; print $f->toString() . "\n" ; print "$File::pathSeparator\n" ; It works for this example on my machine. but I'm not sure if it generalizes enough for your needs. Patrick On 12/2/06, Alan Campbell <[EMAIL PROTECTED]> wrote:
(reposted subset of context since old thread...sorry) > I'm trying to create a .pl using Inline::Java that closely mirrors the .js equivalent implementation. > In .js we can alias the namespace for shorter names via: - > importPackage(Packages.abc.def.ghi.scripting.logging) > script.traceSetFileLevel(TraceLevel.ALL) // equiv of Packages.abc.def.ghi.scripting.logging.TraceLevel.ALL > > Was hoping I could do same in perl via typeglobs i.e. something like: - > *traceLevel = "main::abc::def::ghi::scripting::logging::TraceLevel"; # implicit runtime glob > $script->traceSetFileLevel($traceLevel::ALL); Maybe this does what you want ( sorry, no typeglobs involved ;-> ): (http://search.cpan.org/~ovid/aliased-0.20/lib/aliased.pm) <quote> SYNOPSIS # Class name interface use aliased 'My::Company::Namespace::Customer'; my $cust = Customer->new; <snip> -- Alas, I tried namespace, aliased, type-globbing all to no avail. Its possibly because its not a method, but instead a constant field i.e. its documented as: - main::abc::def::ghi::scripting::logging::TraceLevel public static final Java.lang.string ALL Hence obviously cant do TraceLevel->ALL as above-mentioned modules desire. Pity cos everything else in Inline::Java works a treat for me (APIs, exceptions, instance members etc). If anyone can think of any other ideas that'd be great - I'm sure others have to access more than just Java methods from classes they're using...and $big::long::name is evil! Thanks again, Alan ____________________________________________________________________________________ Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail beta. http://new.mail.yahoo.com
-- ===================== Patrick LeBoutillier Laval, Québec, Canada