• ベストアンサー

Perlで構造体はつくれませんか?

Perlで構造体を作る方法はないでしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

どういう意味でしょうか? Cプログラムとかとファイルの読み書きを通じてCの構造体をやりとりするというような意味でしょうか? そうではなくて、Perlの中だけというような意味なら 簡易には、データを構造体の様にまとめるのに、ハッシュが使われます。 もう少しこだわるなら、クラスにしてしまう。 あるいは、そうしたクラスを簡略的に作れる Class::Struct 標準モジュールが使えます。

tamukikun
質問者

お礼

ありがとうございます。Structをさがしてみます。

その他の回答 (2)

  • okiyoshi
  • ベストアンサー率34% (11/32)
回答No.3

> 構造体の配列はどのように記述したらよいでしょうか? 構造体の配列・・というのが、 どういうことをイメージしているか不明ですが、、 # 配列の5番目の項目($struct->[4])が配列値の場合 $struct = [ 1, 2, '値1', '値2', [ 3, 4, '値A', '値B' ] ]; # 上記を確認 print "第1レベルの内容\n"; for my $ix ( 0..$#{$struct} ) { print "[$ix]$struct->[$ix]\n"; } print "第2レベル(第1レベルの5番目の項目)の内容\n"; for my $ix ( 0..$#{$struct->[4]} ) { print "[$ix]$struct->[4][$ix]\n"; } # 質問が上記のような構造体の配列・・という意なら、、 @struct = ( $struct, $struct_2, $struct_3,, ); # など・・

  • okiyoshi
  • ベストアンサー率34% (11/32)
回答No.1

my $struct; $struct->{level1}{level2}{level3} = 'あるレベルのある値'; など、自由にできます。 各レベルはハッシュでも配列でもかまいません。 作った構造体はStorableでシリアライズ出来るので、 そのまま外部に記録したり、それを復元したり、と自由にできます。

tamukikun
質問者

補足

回答ありがとうございます。 構造体の配列はどのように記述したらよいでしょうか?

関連するQ&A