• ベストアンサー

ポインタみたいなもの

Perlってポインタは利用できないんですよね。配列の要素を1つ1つ処理していってその要素の内容によって更にその配列に要素を指定した順番に追加しながら処理していくような処理を実現するにはどうしたらよいのでしょうか。C言語だったら線形リストでできるのですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.2

Perl にも「リファレンス」という概念が ありますよ。 C 言語でポインターを取得するときは、変数の前に 「&」をつけますが、Perl では、変数の前に 「¥」をつけることで、リファレンスが使えます。 $list[0] = \@item; これで、list 配列の先頭には、item 配列への参照が 保存されます。 これは $ref_item = $item[0]; と取り出して、@$ref_item とすれば、@item と同じ 配列を指しています。 具体的には @item[0] = 1; ${$ref_item}[0] = 1; は同じことになります。お分かりいただけましたか? http://www.webkoza.com/doc1/perl_k.htm

参考URL:
http://www.webkoza.com/doc1/perl_k.htm

その他の回答 (2)

  • togino
  • ベストアンサー率75% (97/129)
回答No.3

No2 にて >これは >$ref_item = $item[0]; すみません $ref_item = $list[0]; の間違いです。ごめんなさい。

  • yoneda_16
  • ベストアンサー率47% (166/350)
回答No.1

perlにはポイントはありませんが参照(リファレンス)がありますのでそれで事足りるんじゃないでしょうか。

参考URL:
http://www98.sakura.ne.jp/~jun/perl/ref-old.html

関連するQ&A