WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:@配列に格納されているリファレンス値をスカラー変数に代入してデリファレンスさせたい(Perl)

0:[投稿] Perl始めたて [2004/03/04 11:29 ][環境:Windows2000 UNIX、CGI、perl5.6.1、apache]

こんにちは。Perl始めて間もない者です。
perlのリファレンス・デリファレンスについて質問させて下さい。

現在、他のサブルーチンから受け取ったリファレンス値の入った@変数をスカラー変数に代入してデリファレンスして、そのスカラー変数を用いてHTMLのブラウザ上で表示させたいと思っています。

他のサブルーチンから渡されたリファレンス値格納@変数→@vlaue
@valueの中身→ARRAY(0x86b0de4) ARRAY(0x8667cc4) ARRAY(0x86d7a70)

単純に、$view=@value;と書いてしまうと、
$viewには@valueの配列要素数しか入りません(この場合3)。
@valueに入っているリファレンス値をスカラー変数に代入させる
方法をご存知の方がいましたらご教授願えませんでしょうか?

スカラー変数に代入した後、HTMLタグの<td></td>の間に入れて、
デリファレンスした内容をブラウザ表示をしたいと思っております。

よろしくお願い致します。


1:[回答] B-Cus [2004/03/04 11:49 ]

> リファレンス値の入った

> @valueの中身→ARRAY(0x86b0de4)

これらの書き方がちょっと気になりますが、もし
  ARRAY(0x86b0de4)
などの「文字列」が入っているのなら、デリファレンスは
できません。

でなくて、ほんとのリファレンスが入っているなら、以下の
ようなコードで可能です。

foreach my $ref_array (@value){
  foreach (@$ref_array){
     print "$_,";
  }
  print "\n";
}


2:[関連] Perl始めたて [2004/03/04 19:50 ]

B-Cusさま

ご返答ありがとうございます。
早速試してみたいと思います。
ご教授感謝致します(m_m)

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World