in reply to use vs. require

require and import mean you do not get the function definitions at compile time, so prototypes aren't in place, and you'll get bareword errors if Perl can't figure out that it's a subroutine call.

To fix all that, consider the pragma autouse. It prototypes the use'd functions, and sets up triggers to automatically use the module when the functions are called, transparently. Nice.

-- Randal L. Schwartz, Perl hacker