Diary

referenceの続き


前回の日記に書いたreferenceのことだが、たとえばファイルアップロードの際の、アップロードされたファイルの情報などを整理して利用するにはとても都合がいい。
だが、渡されるFORMのデータがmultipartでない場合にはあまり使い道がないのではと思った。その場合、FORMから渡されるデータはキーワードと値のペアという形でしか得られないからだ。

だがここでFORMのnameに複数のキーワードを設定すれば、1個目のキーワードを各キーとするハッシュのリストに、2個目のキーワードを各キーとするハッシュ(へのreference)が格納出来るのではないだろうか。

つまり具体的には、たとえば2つのキーワードを「_」で連結してFORMのnameに複数のキーワードを設定する。
そしてFORMから渡されたデータをデコードする際に以下のような処理をする。
if ($name =~ /^(\w+)_(\w+)$/) {
$FORM{$1}{$2} = $value;
}
こうすれば2個目のキーワードを各キーとするハッシュへのreferenceから成る、1個目のキーワードを各キーとするハッシュが生成出来るはずだ。

※実際に試して見たら上手く行ったのですが、もしも何か間違いがありましたらご指摘いただければ幸いです。
2001年09月05日(水) No.10
Comment(0)

この記事へのコメントは以下のフォームからどうぞ

Name
E-Mail
URL
感想
1000文字まで
Icon Icon
投稿キー 投稿キーを右に記入して下さい
Pass
No.PASS
No.USERPASS