my $c = read_your_config_file(); # returns a hash of values use File::Spec::Functions; $c->{user} ||= "user"; $c->{admin} || = "admin"; $c->{htmldir} ||= catfile($c->{basedir}, $c->{html}); $c->{userdir} ||= catfile($c->{htmldir}, $c->{user}); $c->{admindir} ||= catfile($c->{htmldir}, $c->{admin}); $c->{email} ||= "$c->{username}\@$c->{domain}";