$POSTCONF="postconf";
while(<>) {
if (/^[^ if ($param_name && $saved_text) {
$saved_text =~ s/^(\n| $saved_text =~ s/(\n| $saved_text =~ s/^ $saved_text =~ s/\n $definition{$param_name} = $saved_text;
$param_name = $saved_text = "";
}
next;
}
if (/^ $saved_text .= $_;
next;
}
if (/^ $param_name = $1;
$saved_text = $_;
}
}
open(POSTCONF, "$POSTCONF -d|") || die "cannot run $POSTCONF: !$\n";
while(<POSTCONF>) {
chop;
if (($name, $value) = split(/\s+=\s+/, $_, 2)) {
$defaults{$name} = $value;
} else {
warn "unexpected $POSTCONF output: $_\n";
}
}
close(POSTCONF) || die "$POSTCONF failed: $!\n";
for $param_name (sort keys %defaults) {
if (defined($definition{$param_name})) {
print "#DEFINE $param_name\n\n";
print $definition{$param_name};
print "\n\n";
} else {
warn "No definition found for $param_name\n";
}
}