Thanks Rob and drieux,
you were both right. The package line read
package Template;
Since I noticed my error just one minute after asking for help on the list, I tried to
send a followup, but - alas! - my provider's SMTP server denied connections for about
two hours.
Now I learned some more perlish behaviour: double colons are used for both the
namespace and the replicated directory structure.
Thanks again,
Jan
drieux wrote:
>
>On Jan 26, 2004, at 8:38 AM, Jan Eden wrote:
>[..]
>> The module sits in /Users/jan/Library/Scripts/Modules/Test. Now Perl
>> tells me it cannot locate the subroutine "choose". If I place
>> Template.pm directly into the path set in the "use lib" line and
>> remove the "Test::" at both places, everything works fine.
>
>sounds like your package line in the Template.pm
>file is set as
>
> package Template;
>
>and NOT as
>
> package Test::Template;
>
>Hence what you wanted to do is
>
> use lib "$ENV{HOME}/Library/Scripts/Modules";
> use Template;
> ...
> my ($update_path, $gallery_title) = &Test::Template::choose();
>
>> I read in the camel that double colon separators in a module name
>> would be translated to a directory structure when Perl searches for
>> them.
>
>Yes and no - the yes part is that IF the package line and
>the file name are set appropriately.
>
>This is one of the reasons that the perldoc advocates
>doing the start of a perl module with h2xs
>
> cf perldoc h2xs
>
>so that you can start off at least modestly sanely
>
>my traditional rant on PM's is at
><http://www.wetware.com/drieux/CS/lang/Perl/PM/quick_pm.html>
>
>When I am brewing up a new module, I then of course use
>something like
>
><http://www.wetware.com/drieux/CS/lang/Perl/PM/PerlInstall.plx>
>
>so that i can install the module in my home directory.
>
>ciao
>drieux
>
>---
>
>
--
There's no place like ~/
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>