1use Config::Std { read_config => 'get_config' }; 2use Test::More 'no_plan'; 3 4my $input_file = 'test.cfg'; 5 6my %data = ( 7 # Default section... 8 '' => { 9 'def1' => 'def val 1', 10 'def 2' => 'def val 2', 11 'def 3 ml' => "def val 3\nacross several\n lines", 12 'def 3' => 'def val 3', 13 'def 4' => 'def val 4', 14 }, 15 16 # Named section... 17 'Named' => { 18 'hi there' => q{What's your name???}, 19 'list' => [qw(a list of values), 'all different'], 20 }, 21 22 # Complex named section... 23 'Complex named!!!' => { 24 123456789 => 'zero', 25 '%^$%$#%' => 'curses', 26 }, 27); 28 29my %config; 30 31ok eval{ get_config $input_file => %config } => 'Read succeeded'; 32diag( $@ ) if $@; 33 34is_deeply \%data, \%config => 'Data correct'; 35