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

連想配列(ハッシュ)のファイルへの書き込み方と、
そのファイルからの読み込み方で困っています。

たとえば以下のような連想配列(ハッシュ)があって

%colorFile = (
'red'=>'5',
'green'=>'10',
'blue'=>'3'
);

この情報をサーバーの
color.dat
ファイルに書き込んで保存し、
変更があったときにファイルからデータを読み込むには
どのようにしたらいいのでしょうか?

連想配列(ハッシュ)のまま保存すると
color.datの中身が
green10blue3red5
のようになってしまい、
読み込んだときに連想配列(ハッシュ)に復元できません…。

よろしくお願いします。

A 回答 (1件)

Data::Dumper とか DB に tie とか.

    • good
    • 0
この回答へのお礼

Tacosan様、回答ありがとうございました!
リファレンス本とにらめっこの私には少々ハードルが高かったですが、なんとか思い通りの結果を得られました。

以下、自分の覚え書きも兼ねて…。

【1】
プログラムの2行目に
use Data::Dumper;
を追加。

【2】
連想配列(ハッシュ)の書き方を
$colorFile = {'red'=>'5','green'=>'10','blue'=>'3'};
とし、
open DATA, ">color.dat";
print DATA Dumper $colorFile;
close DATA;
で書き込み。

【3】
保存したファイルを
open DATA, "color.dat";
@openFile = <DATA>;
close DATA;
で読み込み。

【4】
print "@openFile";
で【2】と同じものが出力できました。

もしかしたらおかしな部分があるかもですが、とりあえず一歩前進しました。

ありがとうございました!

お礼日時:2010/11/30 20:11

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