I have tried that, and it does not work.
But you said Thank you, worked like a charm!, so which is it?
Seriously, don't ever write code in string eval, seeing \\\\ \$ ..... should make your eyes bleed.
Start making subroutines, make them into modules, use require .... basically follow the advice you get, read the tutorials linked, things like that
lib/Pashnoid/Fire.pm#!/usr/bin/perl -- use strict; use warnings; use Pashnoid::Fire; my @ok_ports = Pashnoid::Fire->get_ports(); ...
lib/Pashnoid/Fire/Win32.pmpackage Pashnoid::Fire; use Perl::OSType qw' is_os_type '; if( is_os_type('Windows') ){ eval q{use parent 'Pashnoid::Fire::Win32'; 1} or die $@; } else { eval q{use parent 'Pashnoid::Fire::Linux'; 1} or die $@; } 1;
lib/Pashnoid/Fire/Linux.pmuse Win32; ... sub get_ports { my( $selfOrClass ) = shift; ...
use Device::SerialPort; ... sub get_ports { my( $selfOrClass ) = shift; ...
In reply to Re^3: code that runs (and works) on both Linux and Win32
by Anonymous Monk
in thread code that runs (and works) on both Linux and Win32
by pashanoid
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |