Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
more useful options

Comment on


There error is happening because the module MIDI::ALSA is not installed on your Windows machine.

use doesn't work the way you're thinking it does. It is not evaluated as the code is run, but before that. So your "logic" is correct, but your logic is wrong - if that makes sense ;-)

There have been many suggestions on how to do this with the if pragma for example, but I've found this to work for me:

use strict; use warnings; my $HAVE_MIDI_ALSA = 0; eval "use MIDI::ALSA"; if($@) { print "MIDI::ALSA required\n"; exit } else { $HAVE_MIDI_ALSA = 1 } if (($^O eq 'linux') and $HAVE_MIDI_ALSA) { MIDI::ALSA::client('test',1,1,1); MIDI::ALSA::connectfrom(0,'MidiSport 4x4:0'); MIDI::ALSA::connectto(1,'MidiSport 4x4:0'); MIDI::ALSA::start(); }

In reply to Re: How to have OS specific code sections in Perl by VinsWorldcom

and:  <code> code here </code>

  • Please read these before you post! —
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others surveying the Monastery: (17)
    As of 2014-03-17 16:25 GMT
    Find Nodes?
      Voting Booth?

      Have you used a cryptocurrency?

      Results (355 votes), past polls