So, in the module, you Don't use the #! line-- you say "package <packagename>;". Such a simple thing, but I just couldn't see it. Everything works now. Thanks!
Comment on Re^2: Understanding using external program data
Oh dear, that's a very superficial description of the situation.
The "hashbang" line in a script and a "package" line in a module have very little in common. One is Perl, the other isn't, for one essential difference. Each can usefully appear in the other kind of file, so they're not even distinctive.
Please read up on the function of each. See perldoc perlrun for the hashbang line and perldoc perlmod (plus perldoc -f package for the package statement.