Mike Heins wrote:
Wow, Mike. I would have never figured that one out. If I changed the Track.pm to use the same method for defining the subroutine to use as the Payment.pm uses to call the payment modules, that seems like a simpler way for future users to plug in a custom tracking module. Then they would just have to pass the name of the module to use.Quoting Duane Hinkley (suppressed):I'd like to use the option in the Track.pm module to define my own subroutine to save the tracking information but it appears to be broke or just impossible to do. I've tried about every way I can think of to define TrackSub in my catalog.cfg file so $Vend::Cfg->{TrackSub} containing a reference to a subroutine. There's no way to make it work.What get's me the closest to working is putting the following in interchange.cfgAddDirective TrackSub Then I put the following in catalog.cfg; TrackSub customtrack TrackSub <&EOR sub { return 'test'; } EOR That gives me the following error:Runtime error: Can't use string ("test") as a subroutine ref while "strict refs" in use at /usr/lib/interchange/lib/Vend/Track.pm line 188.Could someone let me know how to define a subroutine ref to make this work? Or is this just broke?I had never used it, so I didn't know about the mechanism. It seems to me this in interchange.cfg is the only (relatively) easy way to do it: GlobalSub hook_to_parser <<EOS sub { sub parse_customtrack { my ($var, $name) = @_; my $sub = $C->{Sub}->{$name} || $Global::GlobalSub->{$name}; return $sub || ''; } } EOS AddDirective TrackSub customtrack Then in your catalog.cfg: Sub <<EOR sub trackfoo { Log("Called trackfoo"); } EOR TrackSub trackfoo The TrackSub can then be the name of a GlobalSub or a Sub -- it needs to open and write a file or program to do something useful, of course.
Would that work better? -- Sincerely, Duane Hinkley Down Home Web Design, Inc. (208) 424-0572 Fax(208) 587-0738 suppressed www.downhomewebdesign.com _______________________________________________ interchange-users mailing list suppressed http://www.icdevgroup.org/mailman/listinfo/interchange-users
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.