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

Hello esteemed PerlMonks. I want to assign the value of one variable returned from a CGI.pm script, if it exists, to another, e.g.:

if($q->param('product_key_text')){ # if was entered in the text field, # set it to product_key $q->param('product_key')=$q->param('product_key_text'); }

But I'm getting this error when text is entered in product_key_text:

Can't modify non-lvalue subrutine call

I gather I'm trying to modify a param that can't be modified; how do I do this? Thanks!

Replies are listed 'Best First'.
Re: CGI.pm: Can't modify non-lvalue subroutine call
by hippo (Archbishop) on Mar 22, 2019 at 23:02 UTC

    The correct way to set the value of a parameter to that of another is this:

    $q->param ( -name => 'product_key', -value => $q->param('product_key_text') );
      Perfect! thank you for the quick reply.