#! /usr/bin/perl
# Extract parameter definitions from the sample-mumble.cf files in
# order to build the postconf raw data file from which everything
# will be regenerated.
$POSTCONF="postconf" ;
# Suck in the parameter definition text. Skip non-parameter blocks.
# Strip all but the body text (i.e. strip off the non-comment line
# that shows the default , since we will use postconf output to supply
# the actual values).
while (<>) {
if (/^[^#] /) {
if ($param_name && $saved_text) {
$saved_text =~ s/^(\n|#| \s)+//;
$saved_text =~ s/(\n|#| \s)+$//;
$saved_text =~ s/^# ?/\n/;
$saved_text =~ s/\n# ?/\n/g;
$definition{$param_name} = $saved_text;
$param_name = $saved_text = "" ;
}
next;
}
if (/^#/ && $param_name) {
$saved_text .= $_;
next;
}
if (/^# The (\S+) (configuration )?parameter/) {
$param_name = $1 ;
$saved_text = $_;
}
}
# Read all the default parameter values. This also provides us with
# a list of all the parameters that postconf knows about.
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" ;
# Print all parameter definition text that we found, and warn about
# missing definition text.
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" ;
}
}
Messung V0.5 in Prozent C=99 H=91 G=94
[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-09-27]