perl -le 'print $^O' #### 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;