CycleTechLog (サイクルテックログ)

cycling, map and gis technology, and myself.

PerlのData::Dumperで出力する際に

400件ぐらいのデータをPerlを使って整理していたのですが、Data::Dumperでダンプしてみると、直接データが入っていてほしいところに以下のようになっていました。

'hoge' => [
    'keyword' => 'fuga',
    'name' => 'piyo',
            .
],

のはずが、

'hoge' => $VAR1->{'foo'}{'bar'}{'baz'}[0], 
            .

こんな感じに。

どうやら調べてみるとData::Dumperは重複したリファレンスを省略する機能があって、デフォルトは有効になっているようでした。

$Data::Dumper::Deepcopy = 1;

とすると無効になって1つ1つにデータを入れてくれるようになりました。

via : http://www.yetipapa.com/sekita/mashi_tra/Data-Dumper-2.128/lib/Dumper.pm