dポイントプレゼントキャンペーン実施中!

Perlで、<select multiple>のデータを取得する方法を教えてください。
以下のように複数選択できるselectタグがあります。これで送信したデータを
Perlで受けると、ARRAY(0x9bf0d18)のようになってしまいます。
環境は、以下のとおりです。(必要な部分だけ記載しています)

■送信元のHTML
<select name="test" size="3" multiple>
<option value="a">a
<option value="b">b
<option value="c">c
</select>

■受け側のPerl
use CGI_Lite;
my %in = $cgi->parse_form_data();
print"Content-type: text/html\n\n";
print"$in{'test'}\n";

■結果
ARRAY(0x9bf0d18)

以上、よろしくお願いします。

A 回答 (1件)

一般的に、print して ARRAY(0x9bf0d18) の形式になる変数には、配列リファレンスが入っています。

これは、デリファレンスして配列を得られます。

今回は以下の様になります。

$in{'test'} # 配列リファレンス

@{$in{'test'}} # 配列

この配列に、複数選択された値が入っているのでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
以下で取り出せました。
助かりました。

foreach (@{$in{'test'}}){
print"$_<br>\n";
}

お礼日時:2009/10/21 14:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!