2014年7月6日日曜日

perlのAmon2でリクエストパラメータをすべて取得する

またperlです。
今度はAmon2っていうやつを使うことになったのですが、
画面に入力されたすべてのリクエストパラメータを1個ずつ指定せずに取りたかったので調べました。

入力フィールドはこんな感じ。



















取得の仕方はこれで取れます。
my @params2 = $c->req->param;

ただ、そのまま使おうとすると、先頭の値だけだったり配列としてしか取れないようです。
$c->log->info(@params2); # -> rate_2_3_0
$c->log->info(\@params2); # -> ARRAY(0x2708608)

ループでまわすとすべてのnameが取れました。
nameさえ取れればvalueも取れるのでやれそうです。
foreach my $var(@params2){
 $c->log->info($var);
}

結果
rate_2_3_0
rate_3_2_2
rate_3_1_0
rate_3_2_0
rate_3_3_3
rate_1_1_1
rate_2_1_0
rate_2_3_3
rate_2_2_0
rate_2_1_1
rate_1_1_0
rate_1_3_0
rate_3_3_0
rate_2_2_2
rate_3_1_1
rate_1_3_3
rate_1_2_0
rate_1_2_2
XSRF-TOKEN


参考URL
http://search.cpan.org/~miyagawa/Plack-1.0030/lib/Plack/Request.pm
http://www.perlplus.jp/perl/array/index11.html

0 件のコメント:

コメントを投稿