Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I am now learning mason, and I can't figure out what I'm doing wrong with this script.

I am trying to call a component, but I keep getting an error when I try to use variables in the component (even though I am passing it):

Main script:

% # Else if this is a 'personalized' product % elsif ($sku_p =~ /p/i and $person and (!$thatname and !$notperson)){ + #for personalization item <& personalized_product, sku_p => $sku_p, person => $person, mode => $mode &> %}else {

Here is the error I am getting in the log files:

[Wed Feb 28 16:43:24 2007] [error] Mason error (during compilation of +/usr/local /stronghold/htdocs/ttgo/order/personalized_product) File: /usr/loc +al/strongh old/mason/ttgo/obj/order/personalized_product Errors: [29:Global sym +bol "$sku_ p" requires explicit package name], [30:Global symbol "$person" requir +es explici t package name], [31:Global symbol "$person" requires explicit package + name], [3 2:Global symbol "$person" requires explicit package name], [51:Global +symbol "$m ode" requires explicit package name], [61:Global symbol "$person" requ +ires expli cit package name], [72:Global symbol "$sku_p" requires explicit packag +e name], [ 119:Global symbol "$sku_p" requires explicit package name] Compon +ent stack: /order/cart, /order/autohandler, /autohandler Code stack: [/usr/lib/ +perl5/site _perl/5.6.1/HTML/Mason/Interp.pm:386], [/usr/lib/perl5/site_perl/5.6.1 +/HTML/Maso n/Request.pm:467], [/usr/lib/perl5/site_perl/5.6.1/HTML/Mason/Request. +pm:596], [ /usr/local/stronghold/mason/ttgo/obj/order/cart:190], [/usr/local/stro +nghold/mas on/ttgo/obj/order/autohandler:35], [/usr/local/stronghold/mason/ttgo/o +bj/autohan dler:19]

What am I doing wrong?

Replies are listed 'Best First'.
Re: Mason log error
by mreece (Friar) on Mar 01, 2007 at 00:54 UTC
    do you have an <%args> section in personalized_product?
    <%args> $sku_p $person $mode </%args> hello <% $person %>, your sku is <% $sku_p %> ...