[ic] Adding a system wide module

Jon Jensen jon at endpoint.com
Mon Jan 31 20:45:25 EST 2005

On Tue, 1 Feb 2005, Jeff Fearn wrote:

>> The you can call it in a GlobalSub or UserTag, and perhaps even in a 
>> [perl global=1] block, provided that you have the catalog in the 
>> AllowGlobal configuration string.
> Does this mean that I need to write a wrapper for every function I
> wanted to use from Date::Calc?
> I was hoping to be able to bypass the Tag stuff entirely, just using
> [perl] and writting perl code in that on html pages.

If all you want is to pass through arguments to various subroutines in 
Date::Calc, you could create a global usertag wrapper like this:

     UserTag date-calc addAttr
     UserTag date-calc Routine <<EOR

     use Date::Calc;

     sub {
         my ($opt) = @_;
         my $out = eval "return Date::Calc::$opt->{op}(\@{\$opt->{args}})";
             if ($@) {
                     logError("tag date-calc error: $@");
             return $out;

You call the tag like this:

     [date-calc op=Day_of_Year args.0=2004 args.1=12 args.2=31]

I tested this code and it actually works. :)


Jon Jensen
End Point Corporation
Software development with Interchange, Perl, PostgreSQL, Apache, Linux, ...

More information about the interchange-users mailing list