use strict; use warnings; use YAML; use Data::Dump; my %configHash = ( cat => 'Fred', dog => 'Joe', ); my $cfgFileContents = YAML::Dump(\%configHash); Data::Dump::dump (\%configHash); print $cfgFileContents; $cfgFileContents .= "cat: Bob\n"; # User added configuration entry my $loaded = YAML::Load($cfgFileContents); Data::Dump::dump ($loaded); $cfgFileContents = <## { cat => "Fred", dog => "Joe" } --- cat: Fred dog: Joe { cat => "Fred", dog => "Joe" } { cat => ["Fred", "Bob"], dog => "Joe" }