Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: code that runs (and works) on both Linux and Win32

by Anonymous Monk
on Sep 02, 2011 at 09:13 UTC ( #923804=note: print w/ replies, xml ) Need Help??


in reply to Re^2: code that runs (and works) on both Linux and Win32
in thread code that runs (and works) on both Linux and Win32

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

#!/usr/bin/perl -- use strict; use warnings; use Pashnoid::Fire; my @ok_ports = Pashnoid::Fire->get_ports(); ...
lib/Pashnoid/Fire.pm
package 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/Win32.pm
use Win32; ... sub get_ports { my( $selfOrClass ) = shift; ...
lib/Pashnoid/Fire/Linux.pm
use Device::SerialPort; ... sub get_ports { my( $selfOrClass ) = shift; ...


Comment on Re^3: code that runs (and works) on both Linux and Win32
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://923804]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2014-12-27 19:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls