in reply to Re: Re^2: modify @INC
in thread modify @INC
No, that won't work. The use inside the eval BLOCK is compiled at compile time, but the string in eval EXPR is not. eval "use Foo"; is nothing but an obfuscated way to say require Foo; Foo->import;
Neither case is a job for eval here. If you want variable paths at compile time, you do the following:
If you want to load modules with dynamic @INC at runtime, you make use of the aforemention construct:my $libpath; BEGIN { $libpath = "/foo/bar"; } use lib $libpath;
eval will not help. And $a is a really awful name for a variable (plus $a and $b are reserved for sort). :){ local @INC = ("/foo/bar", @INC); require Foo; Foo->import; }
Makeshifts last the longest.
In Section
Craft