my %hash =( 'script' => 'foo.pm', 'params' => { 'err' => '99', 'FILE' => 'fileA' }, 'par_global' => { 'err' => '99', 'err' => '20', 'FILE_READ' => 'fileB', }, 'testset' => ['test1'] ); #### foreach my $key (keys %hash) { if ( ref $hash{$key} ne 'HASH' && ref $hash{$key} ne 'ARRAY' ) { print"$key:$hash{$key}\n"; if( (defined $key) && ($key eq 'script') ) { print"$hash{$key}\n"; } } if( ref $hash{$key} eq 'HASH' ) { foreach my $k (keys %{$hash{$key}}) { print"$k=$hash{$key}{$k}\n"; } } elsif( ref $hash{$key} eq 'ARRAY' ) { print"$key:$hash{$key}[0]\n"; } }