Because when only writing the ones which are true we're
breaking the ones which default to true (like the mkdir
option on directory storages, where we need a false value
to be written out explicitly).
if ($key =~ m/[\n\r]/) || ($value =~ m/[\n\r]/);
if ($ct eq 'boolean') {
if ($key =~ m/[\n\r]/) || ($value =~ m/[\n\r]/);
if ($ct eq 'boolean') {
- return $value ? "\t$key\n" : '';
+ return "\t$key " . ($value ? 1 : 0) . "\n"
+ if defined($value);
} else {
return "\t$key $value\n" if "$value" ne '';
}
} else {
return "\t$key $value\n" if "$value" ne '';
}