http://www.perlmonks.org?node_id=751860


in reply to Re: Mulit-Platform use case
in thread Mulit-Platform use case

That will not work stand-alone because (as moritz said) use is executed at compile time. Even if placed in a BEGIN block.
For example, on Windows:
use strict; use warnings; if ($^O ne "MSWin32") { use POSIX; } local $, = "\n"; print keys %INC
shows that POSIX.pm is loaded.