- ベストアンサー
Perlで構造体はつくれませんか?
Perlで構造体を作る方法はないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どういう意味でしょうか? Cプログラムとかとファイルの読み書きを通じてCの構造体をやりとりするというような意味でしょうか? そうではなくて、Perlの中だけというような意味なら 簡易には、データを構造体の様にまとめるのに、ハッシュが使われます。 もう少しこだわるなら、クラスにしてしまう。 あるいは、そうしたクラスを簡略的に作れる Class::Struct 標準モジュールが使えます。
その他の回答 (2)
- okiyoshi
- ベストアンサー率34% (11/32)
> 構造体の配列はどのように記述したらよいでしょうか? 構造体の配列・・というのが、 どういうことをイメージしているか不明ですが、、 # 配列の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)
my $struct; $struct->{level1}{level2}{level3} = 'あるレベルのある値'; など、自由にできます。 各レベルはハッシュでも配列でもかまいません。 作った構造体はStorableでシリアライズ出来るので、 そのまま外部に記録したり、それを復元したり、と自由にできます。
補足
回答ありがとうございます。 構造体の配列はどのように記述したらよいでしょうか?
お礼
ありがとうございます。Structをさがしてみます。