On Thu, Aug 29, 2002 at 12:29:58AM -0700, Michael G Schwern wrote: > Also, Nick's example is a little odd. You usually don't want '.' (ie. t/) > in your @INC. It's more like this: > > BEGIN { > if($ENV{PERL_CORE}) { > chdir 't'; > @INC = '../lib'; > } > } > > but in some cases you need to include something more. For example, > MakeMaker does this: > > BEGIN { > if($ENV{PERL_CORE}) { > chdir 't'; > @INC = ('../lib', 'lib'); > } > else { > unshift @INC, 't/lib'; > } > } > > so it can see specialty helper modules in t/lib/.
> On Thursday, August 29, 2002, at 06:51 AM, Nicholas Clark wrote: > >You'll often see regression tests in the core start like this: > > > >sub BEGIN { > > if ($ENV{PERL_CORE}){ > > chdir('t') if -d 't'; > > @INC = ('.', '../lib'); > > } else { > > unshift @INC, 't'; > > } For information, my example was from the top of t/integer.t in Storable It looks like the same bit of code was cargo-cult cut & pasted (er, by me I think) from the other Storable tests (such as freeze.t) where they have to require 'st-dump.pl'; to get a library of useful test routines. I'm not sure if Storable was actually the best (cleanest, simplest) thing to snag the example code from. Nicholas Clark