Thanks...

as It turns out I had to use both a BEGIN{} to set the variables and an
eval{} around the use (don't ask, it's some rather ugly stuff...).

autouse wasn't quite whta I needed (the module I'm using contains no
functions, just a big hash)

>-----Original Message-----
>From: David Mitchell [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, September 28, 2000 10:53 AM
>To: [EMAIL PROTECTED]
>Cc: [EMAIL PROTECTED]
>Subject: Re: OT: use problem (need interpolation)
>
>
>> From: Jerrad Pierce <[EMAIL PROTECTED]>
>> Is there anyway to fool perl into letting you do a:
>> 
>> use Foo ($bar, 'baz', 'quux');
>
>'use' lines are executed very early on during script loading:
>
>       use Foo x y z
>       
>is roughly equivalent to
>
>       BEGIN { require Foo; import Foo x y z }
>       
>so $bar is likely to be undefined unless you also set it in
>a BEGIN section, eg
>
>       BEGIN { $bar = .... }
>       use Foo ($bar, 'baz', 'quux');
>
>or use 'require' instead of 'use' if you can tolerate the module being
>loaded late, eg
>
>       $bar = ....;
>       require Foo;
>       import Foo ($bar, 'baz', 'quux');
>
>
>
>* Dave Mitchell, Operations Manager,
>* Fretwell-Downing Facilities Ltd, UK.  [EMAIL PROTECTED]
>* Tel: +44 114 281 6113.                The usual disclaimers....
>*
>* Standards (n). Battle insignia or tribal totems
>

Reply via email to