Perl/Catalyst中通过POST的多维和关联数组(哈希)

nsb*_*sbm 2 forms perl post webforms catalyst

在PHP中,我会这样做以将"点"作为多维数组.

<input type"text" name="points[0][1]" />
<input type"text" name="points[0][2]" />
<input type"text" name="points[1][1]" />
<input type"text" name="points[2][2]" />
Run Code Online (Sandbox Code Playgroud)

或者,如果我想将'point'作为关联数组:

<input type"text" name="point[x_axis]" />
<input type"text" name="point[y_axis]" />
Run Code Online (Sandbox Code Playgroud)

什么是Catalyst/Perl相当于这类东西?我如何通过$ c-> req-> params获取这些?

hob*_*bbs 6

这不是开箱即用的 - Catalyst不对param名称进行任何映射,如果它们出现一次,则将值映射到任一标量,如果它们出现多次则将其映射到arrayrefs.但是有一个要求特质,你可以申请,催化剂:: TraitFor ::支持:: PARAMS ::散列,增加hashed_params,hashed_query_paramshashed_body_params方法$c->request,其行为在几乎你想要的方式.