in reply to Re: Changing a variable name
in thread Changing a variable name

I cant get params to print inside of a qq thats the first issue. Using cgipm
print REG qq[ ABOUT YOU Last Name : param('Last_Name') First Name : param('First_Name') ];

Replies are listed 'Best First'.
Re: Re: Re: Changing a variable name
by Kanji (Parson) on Jan 25, 2001 at 06:34 UTC

    You may want to check out a smiliar thread, which would have pointed you at import_names() method mentioned amongst other things, but there are more tricks you may want to try ...

    ... @{[ ]}-voodoo to embed arbritrary expressions inside strings.

    print REG qq[; Last Name : @{[ param('Last_Name') ]} First Name : @{[ param('First_Name') ]} ]

    ... use printf() to move the param()'s outside your string.

    printf REG qq[Last Name : %s\nFirst Name : %s\n], param('Last_Name'), param('First_Name'); ## ... or ... printf REG <<__TEXT__, param('Last_Name'), param('First_Name'); Last Name : %s First Name : %s __TEXT__

    ... resort to the much underused (?) formats if you like to see a little more clearly what goes where.

    format REG = Last Name : @<<<<<<<<<<<<<<<<<<<<<<<< param('Last_Name') First Name : @<<<<<<<<<<<<<<<<<<<<<<<< param('First_Name') . write REG;

    The downside to these are you need to be mindful of what param() is returning as a multi-value param() could throw things out of whack if you're only expecting a single value, something import_names() neatly sidesteps by providing both scalars and arrays of the same param() to make context explicit.

        --k.


Re: Re: Re: Changing a variable name
by ColonelPanic (Friar) on Jan 25, 2001 at 02:15 UTC
    Since CGI.pm is a module, not built in, Perl has no way of knowing that those params are variables! Perl will only interpolate a scalar variable when it starts with $. Try one of these:
    way one: $Last = param('Last_Name'); print "Your last name is: $last\n"; way two, using the . (concentation operator): print "Your last name is: ".param('Last_Name')."\n";


    When's the last time you used duct tape on a duct? --Larry Wall