Mailing List Archive

Question on param, and hashes
Ok...

We have been using Embperl since b2. I have just recently upgraded a
server to b4, and now I can no longer pass a hash as "param => \%param"
to Embperl::Execute. I then installed b3 on the server to test it, and
the same problem occurs. So, I re-installed b2, and all is well now.
Is there something I am missing here?

Also, Is there a way to pass multiple hashes to the templates?

Any help would be appreciated,

Thanks,

Darren

--
Darren Greer
System Administrator / Application Development Manager
Websight Solutions Inc. - Web Sites With Vision
p 262.790.9327 f 262.790.5952 toll-free 877.790.9327
Re: Question on param, and hashes [ In reply to ]
>
> We have been using Embperl since b2. I have just recently upgraded a
> server to b4, and now I can no longer pass a hash as "param => \%param"
> to Embperl::Execute. I then installed b3 on the server to test it, and
> the same problem occurs. So, I re-installed b2, and all is well now.
> Is there something I am missing here?
>
> Also, Is there a way to pass multiple hashes to the templates?
>

param takes a array ref and _not_ a hash ref. Embperl makes a alias between
the array you pass to param and the @param array inside the page and I could
not image how this could have worked. Also I am not aware that I have
changed anything between b2 and b3 for the parameter passing.

To pass an hash do

param => [ %hash ]

and inside your page

%hash = @param ;

but much mor effective is to simply pass the hash reference:

param => [ \%hash ]

and in the page

$hashref = $param[0] ;

This work also for multiple hashs:

param => [ \%hash1, \%hash2, \%hash3 ]

and in the page

($hashref1, $hashref2, $hashref3) = @param ;

Of course you can pas also other scalars, not only hashs.

Gerald



-------------------------------------------------------------
Gerald Richter ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz
E-Mail: richter@ecos.de Voice: +49 6133 925151
WWW: http://www.ecos.de Fax: +49 6133 925152
-------------------------------------------------------------
Re: Question on param, and hashes [ In reply to ]
> param takes a array ref and _not_ a hash ref. Embperl makes a alias
between
> the array you pass to param and the @param array inside the page and I
could
> not image how this could have worked. Also I am not aware that I have
> changed anything between b2 and b3 for the parameter passing.
>
> To pass an hash do
>
> param => [ %hash ]
This makes complete sense, and I will try it immediately. However, I assure
you you can pass it by reference the way I tried in b2. But it is a moot
point. Thank you for the correction.

Darren