##
package System::CPU;
use strict;
sub nr_cpus {
$^O eq 'linux' and return nr_cpus_linux();
$^O eq 'solaris' and return nr_cpus_solaris();
$^O eq 'palm' and return 1;
1; # default if we don't know any better
}
sub nr_cpus_linux {
# your code here
}
sub nr_cpus_solaris {
require Solaris::Funky::Stuff;
Solaris::Funky::Stuff->import();
}
1;
####
my $cpus = System::CPU::nr_cpus;