電子書籍の厳選無料作品が豊富!

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

A 回答 (3件)

どういう意味でしょうか?


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

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

お礼日時:2006/02/03 10:31

> 構造体の配列はどのように記述したらよいでしょうか?



構造体の配列・・というのが、
どういうことをイメージしているか不明ですが、、

# 配列の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,, ); # など・・
    • good
    • 0

my $struct;


$struct->{level1}{level2}{level3} = 'あるレベルのある値';

など、自由にできます。
各レベルはハッシュでも配列でもかまいません。

作った構造体はStorableでシリアライズ出来るので、
そのまま外部に記録したり、それを復元したり、と自由にできます。

この回答への補足

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

補足日時:2005/12/12 14:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!