in reply to require different modules per OS?
To expand on keszler's comment, use happens at compile time and the if happens at run time.
By moving the use into a string eval, you put off its execution until run time.
G. Wade
In Section
Seekers of Perl Wisdom