package UniWin; BEGIN { if ( $^O =~ /^MSWin/ ) { require Win32::Setupsup; import Win32::Setupsup; @ISA = qw/Win32::Setupsup/; } else { require Expect; import Expect; @ISA = qw/Expect/; } } # Here you write a OS-generic wrapper around any OS # specific uses of Win32::Setupsup and Expect. # For example, if Setupsup has a "Win_This()" method and # Expect has a "Unix_This()" method, you would write a # wrapper called This() which invokes either method # depending on which OS you're using... 1; package main; use strict; use warnings; use UniWin; # ..........The rest of the program goes here...