_END }
close NEW or die "write error in $podtmp: $!\n";
close POD or die "read error in $pod: $!\n";
if($changes) { rename $podtmp, $pod or die "rename $podtmp $pod: $!" }
else { unlink $podtmp or die "unlink $podtmp: $!" }
}
sub produce_table($) { my $table = shift;
my @rows;
warn "TABLE $table\n"; if($table eq 'confstr') { my @names = confstr_names; foreach my $name (sort @names) { my $val = confstr $name; push @rows, [ $name, defined $val ? "'$val'" : 'undef' ] } } elsif($table eq 'sysconf') { my @names = sysconf_names; foreach my $name (sort @names) { my $val = sysconf $name; push @rows, [ $name, defined $val ? $val : 'undef' ] } } elsif($table eq 'pathconf') { my @names = pathconf_names; foreach my $name (sort @names) { my $val = pathconf __FILE__, $name; push @rows, [ $name, defined $val ? $val : 'undef' ] } } elsif($table eq 'rlimit') { my @names = rlimit_names; foreach my $name (sort @names) { my ($soft, $hard, $success) = getrlimit $name; $soft //= 'undef'; $hard //= 'undef'; push @rows, [ $name, sprintf "%-25s %s", $soft, $hard ] } } elsif($table eq 'ulimit') { my @names = ulimit_names; foreach my $name (sort @names) { my $val = $name =~ m/GET/ ? ulimit $name : '(setter)'; push @rows, [ $name, defined $val ? $val : 'undef' ] } }
else { return }
my $longest_name = 0;
($longest_name < length $_->[0]) && ($longest_name = length $_->[0])
for @rows;
my @lines;
foreach (@rows)
{ my ($name, $value) = @$_;
$name .= ' ' x ($longest_name - length $name);
push @lines, " $name $value\n";
}
@lines;
}