perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From PILCH Hartmut <>
Subject Re: erratic effect of input key in Execute
Date Mon, 27 Mar 2006 21:36:11 GMT
On Mon, Mar 27, 2006 at 08:52:03PM +0200, Gerald Richter wrote:
> > At
> > 
> >
> > 
> > I find the following example of how to invoke the Embperl 
> > parser from a Perl program, and indeed I can make this work 
> > in a simple script, like
> > 
> > 	 [- $msg = 'hello world' -]
> > 	 <h3>[- Embperl::Execute({input=>\$msg}) -]</h3>
> You always need to specify the inputfile parameter (it doesn't matter with
> what value). Embperl used it as a cache key for the source code, so if you
> have different source code, you should use a different string as key to
> inputfile. 

I now tried various definitions, such as

  sub say {
	local $msg = shift;
	Embperl::Execute({input=>\$msg, inputfile=>$msg});


  $n = 0;
  sub say {
	local $msg = shift;
	Embperl::Execute({input=>\$msg, inputfile=>++$n});	

use My::Lib qw(hello) ; 

<h3>[- say('hello world') -]</h3>
<h3>[- say('hallo welt') -]</h3>


and am still getting always the same string printed out.

> See the examples on the web page you refering to.

I can't find any discussion on the use of inputfile as a cache key.

Also this usage scares me a bit, because 'inputfile' here seems to
be competing with 'input'.  How do I know Execute reads its
input from the variable pointer and not from a file with the
name specified in 'inputfile', which might exist.

Also, a most elegant solution for my purpose might be to
avoid Embperl::Execute altogether and just use 'print' or 'printf'
to send my message to the web interface.  After all the output=>
parameter also seems to default to STDOUT, so why not just print
to STDOUT ?  But when I attempt to do so, nothing shows up on the
web page.  Is there some other output stream to which I should possibly
be printing ?

Hartmut Pilch

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message