Well the code looks ok. I just wrote some simple test code to do the same thing like you, but it worked as exepcted. Are there some differeces between that example and your code?
HTH % ls Module.pm test.pl % cat Module.pm #!/usr/bin/perl -w use strict; require Exporter; our @ISA = qw/Exporter/; our @EXPORT = qw/do_sth/; sub do_sth { print "done\n"; } 1; % cat test.pl #!/usr/bin/perl -w use strict; use Module; do_sth(); % perl test.pl done % On Thu, 14 Jun 2007 22:22:06 -0400 Mathew Snyder <[EMAIL PROTECTED]> wrote: > I fixed all of the bugs save one. I can't access any of my subroutines > without > explicitly using it with dates_emails::subroutine. I was under the impression > that if I was exporting them all from the module, the subroutine would be > found > regardless. > > package dates_emails; > require Exporter; > use strict; > > our @ISA = qw(Exporter); > our @EXPORT = qw(startDate, endDate, searchStart, searchEnd); > our @EXPORT_OK = qw($emailTo, $emailFrom, $emailBcc); > our %EXPORT_TAGS = { > dates => [qw(startDate, endDate, searchStart, searchEnd)], > emails => [qw($emailTo, $emailFrom, $emailBcc)], > }; > our $VERSION = '1'; > > It doesn't even work with 'use dates_emails("dates");'. I get an error that > dates is not an exported subroutine. I don't understand what I'm not doing > right as I've got the %EXPORT_TAGS hash set up, I've got the @EXPORTS array > set > up. I've got this in my opening block: > use lib '/usr/local/bin/lib/'; > use dates_emails; > > Any thoughts? > > Mathew > Keep up with me and what I'm up to: http://theillien.blogspot.com > > > Martin Barth wrote: > > Hi, > > > > try: > > > > use lib "/usr/local/bin/lib/"; > > use dates_email; > > > > HTH Martin > > > > On Thu, 14 Jun 2007 01:50:57 -0400 > > Mathew Snyder <[EMAIL PROTECTED]> wrote: > > > >> To take this further I've changed the code. It now looks like this: > >> > >> package dates_emails; > >> require Exporter; > >> use strict; > >> > >> our @ISA = qw(Exporter); > >> our @EXPORT = qw(startDate, endDate, searchStart, searchEnd); > >> our @EXPORT_OK = qw($emailTo, $emailFrom, $emailBcc); > >> our %EXPORT_TAGS = { > >> dates => [qw(startDate, endDate, searchStart, searchEnd)], > >> emails => [qw($emailTo, $emailFrom, $emailBcc)], > >> }; > >> our $VERSION = '1'; > >> > >> # Declare our global variables > >> my (@days, @months, @years, @searchDate); > >> my $time = time(); > >> > >> our $emailTo = "[EMAIL PROTECTED]"; > >> our $emailFrom = "RT"; > >> our $emailBcc = "[EMAIL PROTECTED]"; > >> > >> sub getDates { > >> for (1 .. 7) { > >> $time -= 24*60*60; > >> my @date = (localtime($time))[3 .. 5]; > >> push @days, (sprintf '%02d', $date[0]); > >> push @months,(sprintf '%02d',$date[1] + 1); > >> push @years, $date[2] + 1900; > >> return; > >> } > >> > >> sub searchDate { > >> getDates(); > >> push @searchDate, join "-", ($date[2] + 1900), (sprintf > >> '%02d',$date[1] > >> + 1), > >> (sprintf '%02d', $date[0]); > >> return [EMAIL PROTECTED]; > >> } > >> > >> sub startDate { > >> getDates(); > >> $startDate = join "-", $months[$#months], $days[$#days], > >> $years[$#years]; > >> return $startDate; > >> } > >> > >> sub endDate { > >> getDates(); > >> $endDate = join "-", $months[0], $days[0], $years[0]; > >> return $endDate; > >> } > >> > >> sub searchStart { > >> getDates(); > >> $searchStart = join "-", $years[$#years], $months[$#months], > >> $days[$#days]; > >> return $searchStart; > >> } > >> > >> sub searchEnd { > >> getDates(); > >> $searchEnd = join "-", $years[0], $months[0], $days[0]; > >> return $searchEnd; > >> } > >> > >> return 1; > >> > >> I've placed it in its own directory /usr/local/bin/lib. I've tried using > >> use '/usr/local/bin/lib/dates_email'; > >> use '/usr/local/bin/lib/dates_email.pm'; > >> use '/usr/local/bin/lib/dates_email qw/startDate/; > >> use '/usr/local/bin/lib/dates_email.pm qw/startDate/'; > >> use '/usr/local/bin/lib/dates_email qw/"startDate"/; > >> use '/usr/local/bin/lib/dates_email.pm qw/"startDate"/'; > >> use '/usr/local/bin/lib'; > >> > >> Each one gives me the error "Undefined subroutine &dates_emails::startDate > >> called at ./created_tickets.pl line 19.". Anyone know what I'm doing > >> wrong? > >> > >> Mathew > >> Keep up with me and what I'm up to: http://theillien.blogspot.com > >> > >> > > > > > > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/