古い記事
ランダムジャンプ
新しい記事
Cache::File[2006-10-17-1]でStorebla[2006-05-09-2]を使いたいのだが、
できそうもないので(何か良い方法があったら教えて下さい。
追記: ありました!→[2006-10-24-6])、
Data::Dumper でシリアライズして読み書きすることにした。

サンプルプログラム:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;

$Data::Dumper::Terse = 1;
$Data::Dumper::Indent = 0;

my $foo = [ 0, [1,2,3], "hello", {one => 1, two => 2} ];

my $text = Dumper($foo);        # シリアライズ

print "\$foo = $text\n";

my $bar = eval $text;           # もどす

print "\$bar = ", Dumper($bar), "\n";
print "test : ";
print $bar->[0], " ";
print join(",", @{$bar->[1]}), " ";
print $bar->[2], " ";
print join(",", map {"$_:$bar->[3]{$_}"} keys %{$bar->[3]}), "\n";
実行結果:
% perl dd.pl
$foo = [0,[1,2,3],'hello',{'one' => 1,'two' => 2}]
$bar = [0,[1,2,3],'hello',{'one' => 1,'two' => 2}]
test : 0 1,2,3 hello one:1,two:2
Terse をセットすると最初に出てくる変数($VAR1など)が出なくなり、
Indent をオフにするとインデントや改行がなくなる。see perldoc

参考:
- Data::Dumper - perlデータ構造の出力/eval両用文字列化
  http://fleur.hio.jp/perldoc/mix/lib/Data/Dumper.ja.html
この記事に言及しているこのブログ内の記事