ほんの少し進んだ。
「入口」では、今現在滞在中のメンバーを出力するわけですが、そのデータはファイルに保存しておく必要があります。
ファイルの読み書きは標準のプラグイン「file.pl」にあるので、それを使ってデータをやり取りすれば良さそうです。
さっくりとソースを見ると、ファイルの中身は一度に読み書きしているようです。
MENTAではextlibにJSONが入っているので、そいつを使う事にします。
JSONを使うとオブジェクトを文字列に変換できるので、データを保存するのが非常に簡単になります。
昔は色々と考えながらデータを書いていましたが、そんな作業からも開放されました。
今までは割と標準モジュールしか使えないという縛りがありましたが、今後はそれもなくなりますね。
ま、とりあえず簡単にサンプルを書いてみました。
サンプルコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
use strict;
use warnings;
use JSON;
print $JSON::VERSION;
print "\n";
my $obj = {
a => 1,
b => [2, 3],
c => {c1 => 4, c2 => 5},
d => 6,
};
my $json_text = to_json($obj);
print $json_text;
print "\n";
my $r_obj = from_json($json_text);
use Data::Dumper;
print Dumper($r_obj);
|
実行結果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
4.02
{"b":[2,3],"a":1,"d":6,"c":{"c1":4,"c2":5}}
$VAR1 = {
'a' => 1,
'b' => [
2,
3
],
'c' => {
'c2' => 5,
'c1' => 4
},
'd' => 6
};
|