setting variable name with variable at the end - perl -


$id = 1; foreach (@products) { $productid$id = param(product$id); ++$id; } 

i trying loop through products array , create new variable each item in products form uses checkboxes select products sale. tried use $productid$id , $productid"$id" returned syntax errors. there way achieve this?

i trying loop through products array , create new variable each item in products.

while possible create new variable each item, it's bad idea. have global, syntax ugly, , it's difficult pass variables around collection. instead, use hash or array. in case, since items indexed number , there's no gaps array makes sense.

my @product_params; foreach $product (@products) {     push @product_params, param($product); } 

for each $product in @products, add param($product) @product_params. example, parameter $products[5] stored in $product_params[5].

since one-to-one mapping of @products parameters, easier , faster above map. mapping runs each element of list through function create new list. $_ contains each element of @products in turn.

my @product_params = map { param($_) } @products; 

Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -