use strict; use warnings; use Data::Dump qw/pp/; my $data_str= do { local $/;}; $data_str=~ tr/{}/[]/; print $data_str; my $h; eval "\$h =$data_str"; pp $h; __DATA__ { alpha => { beta => { gamma => "theta", delta => "lambda", }, beta => { gamma => "zeta", }, }, }