--> file begins # This is a comment and after is an empty line # Each key starts on a new line KEY1 => 'VALUE1' # This also is a comment KEY2 => { 'VALUE 21', 'VALUE 22', # Spaces in value are relevant 'VALUE 23' } --> file ends #### my $input_string = ''; while (@lines) { my $line = shift @lines; chomp $line; if ($line) { my @parts = split(/#/,$line); $input_string .= $parts[0]; } } #### my %inp = ( KEY1 => 'VALUE1', KEY2 => { 'VALUE 21', 'VALUE 22', 'VALUE 23' } )