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

Reply via email to