|
Posted by Jürgen Exner on April 14, 2008, 9:59 am
Please log in for more thread options
sledz@dresearch.de wrote:
>I'm writing an perl script which should communicate over a serial
>port. The script should be able to run in Linux and Win32
>environments. In both environments exist modules to access the serial
>port:
>
> Win32::SerialPort (under Windows)
> Device::SerialPort (else)
>
>I know it is possible to detect the OS using Config::Config. But it
>seems not possible to use different modules depending on this
>information like this:
>
> if ( $OS eq 'WINDOWS' ) {
> use Win32::SerialPort qw( :PARAM :STAT );
This is explained about halfway down in the documentation for "use".
The "BEGIN" forces the "require" and "import" to happen at
compile time.
>What's the right way to write such an OS dependent application?
Don't use use() but an explicit require() and import() without the
enclosing BEGIN.
jue
|