Hi,

 

as Andrew already wrote your object => code is quite ok, the only thing you 
have to take care is that sub’s should be defined inside [! !] blocks and not 
inside [- -] (because only the former get executed during the object => call)

 

Gerald

 

 

From: Thompson, John [mailto:jth...@midwestern.edu] 
Sent: Tuesday, June 22, 2010 9:31 PM
To: embperl@perl.apache.org
Subject: RE: Execute( sub =>...) and (object => ...)



 

Ok so I figured out that the Execute( param => ... ) still goes into @param not 
@_. Any idea why the ( object => $template ) isn’t working?

 

From: Thompson, John [mailto:jth...@midwestern.edu] 
Sent: Tuesday, June 22, 2010 10:50 AM
To: embperl@perl.apache.org
Subject: Execute( sub =>...) and (object => ...)



 

I am attempting to #1 determine if a function is defined in a template and if 
so #2 call it sending it parameters all from outside the template.

 

I first thought I might just grep for [$ sub name $] and if found do:

 

my $html;

Embperl::Execute({inputfile  => $template},

                                               sub    => ‘name’

                                           param  => [$param1,$param2,$param3],

                                           output => \$html});

 

But it doesn’t seem that “param” feeds the subroutine (and it doesn’t feed the 
template either), so I can’t figure out how to get parameters to my function.

 

Then I thought I’d try to do:

 

my $object = Embperl::Execute({object  => $template});

if($object->can(‘name’)) {

     $object->name($param1,$param2,$param3);

}

 

But for some reason, $object is always equal to zero. Does the template need to 
have a package declaration? Not sure what I’m doing wrong. Either of these ways 
would work, any help is appreciated.

 


Reply via email to