in reply to Re^2: do script2.pl with parms
in thread do script2.pl with parms

A sometimes used technique is to use caller to distinguish between command line invocation as a script and use as a module:

package DualUseScript; ... return 1 if caller; # script "main" code
True laziness is hard work