TODO list for BSD::Sysctl

1. Allow variables to be set.

2. Permit the traversal (with iterators) of sysctl branches (e.g.
'kern.*')

3. Decode 'kern.proc.pid.<process-id>'

4. Offer a tie interface?
   tie my $loadavg, 'BSD::Sysctl', 'vm.loadavg', {offset=>0};
   while(1) {
       print "$loadavg\n";
       sleep 1;
   }

Or would an OO interface be less Clever?

   my $lastpid = BSD::Sysctl->new('kern.lastpid');
   while(1) {
       print $lastpid->get(), $/;
       sleep 1;
   }

5. Offer functions that fetch popular values directly (e.g.
pagefree(), representing vm.vmtotal's "number of vm pages free"
value.

6. On FreeBSD, one may ask for a human-readable description of
a sysctl variable, e.g.:

  % sysctl -d kern.argmax
  kern.argmax: Maximum bytes of argument to execve(2)

This functionality should be supported.

7. Deal with bsd-sysctl.pl in a cleverer way (insert the
contents into Sysctl.pm when copying to blib/lib.

8. Add Makefile rules to deal with changes to mibfmt.map

9. Test FreeBSD 4.x and 5.x more extensively. Currently, the
code has only been tweaked sufficiently to get the damned
thing to compile. eg/mib_scan.pl reports that a number of more
obscure variables are not fetched correctly. The failures need
to be diagnosed.
