SuicideJunkie has asked for the wisdom of the Perl Monks concerning the following question:
I have a module which was working great when it was in the same directory as my script. Recently I tried to organize things and put the module in a subdirectory, but the functions are no longer being exported to main::
Originally, I could use test; and then just call min().
After moving the file to lib/test.pm, I use lib::test, and min(); no longer works; I had to say test::min();
What have I done wrong here, and how can I get my functions exported while the module is in a subdirectory?
test.pl#test.pmuse strict; use warnings; #use test; use lib::test; #print min(5, undef, 10, 3); print test::min(5, undef, 10, 3);
package test; use Exporter 'import'; our @EXPORT = qw (min); sub min { my $best; foreach my $item ( @_ ) { $best = $item if not defined ($best) or (defined($item) and $i +tem < $best); } return $best; }
(Treating undef as zero wasn't convenient. This ignores undefs and returns the smallest defined value)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Export from module in subdirectory
by tobyink (Canon) on Oct 09, 2012 at 19:16 UTC | |
|
Re: Export from module in subdirectory
by toolic (Bishop) on Oct 09, 2012 at 18:49 UTC | |
by tobyink (Canon) on Oct 09, 2012 at 19:32 UTC | |
by SuicideJunkie (Vicar) on Oct 09, 2012 at 19:07 UTC | |
|
Re: Export from module in subdirectory
by jandrew (Chaplain) on Oct 09, 2012 at 19:02 UTC | |
|
Re: Export from module in subdirectory
by Don Coyote (Hermit) on Oct 10, 2012 at 12:37 UTC | |
by tobyink (Canon) on Oct 11, 2012 at 12:56 UTC | |
by Don Coyote (Hermit) on Oct 11, 2012 at 13:24 UTC |