in reply to APPerl: "osname=cosmo" problem
Probably not appropriate for $work, but:
You can get some indication of the system from POSIX::uname(). The docs for this are hedged about with caveats, but if it returns something germaine you can in theory derive an appropriate value from this and assign it to $^O itself, which (believe it or not) can be modified. This modification must be done at compile time, before any of the affected modules are loaded.