#! /usr/local/bin/perl -w use strict; use lib qw(blib/arch blib/lib); use BSD::Sysctl 'sysctl'; my $iter = BSD::Sysctl->iterator( shift ); while (my $x = $iter->next) { my $val = sysctl($x); if (!defined $val) { $val = ''; } elsif (ref $val eq 'HASH') { $val = "{\n " . join( "\n ", map { "$_ => $val->{$_}" } sort keys %$val ) . "\n}" ; } elsif (ref $val eq 'ARRAY') { $val = "[@$val]"; } print "$x: $val\n"; }