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)
In reply to Export from module in subdirectory by SuicideJunkie
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |