At 12:26 -0700 2002.07.31, Andrew O. Mellinger wrote:
> I have often done "require" instead in the past. How would the
>require behavior compare to the non BEGIN usage?
Well, use Foo is essentially the same as:
BEGIN { require Foo; import Foo }
Here is one quick example of the difference. This prints "0":
BEGIN { require MacPerl; import MacPerl }
print kMacPerlNeverQuit;
However, this prints nothing:
require MacPerl; import MacPerl;
print kMacPerlNeverQuit;
The import needs to happen at compile-time for the function to be properly
"seen" so that the kMacPerlNeverQuit() function won't need the (). If you
add warnings, you get:
# Name "main::kMacPerlNeverQuit" used only once: possible typo.
File 'Untitled #2'; Line 3
# print() on unopened filehandle kMacPerlNeverQuit.
File 'Untitled #2'; Line 3
Oops! Adding the () to the end fixes it.
--
Chris Nandor [EMAIL PROTECTED] http://pudge.net/
Open Source Development Network [EMAIL PROTECTED] http://osdn.com/