Hi,
I'm trying to make some code in my perl script OS specific, but I still get the following error when I try to run the code below on Windows:
Can't locate MIDI/ALSA.pm in @INC
The "OS is Linux" line only gets printed on Linux as expected, on Windows it doesn't get printed, so the 'if' subroutine is never entered in Windows as expected, that's why I don't understand the above error on Windows.
The script:
#!/usr/bin/perl
if ($^O eq 'linux') { $LINUX=1; };
if ($LINUX) {
print STDERR "OS is Linux\n";
use MIDI::ALSA ('SND_SEQ_EVENT_PORT_UNSUBSCRIBED',
'SND_SEQ_EVENT_SYSEX');
MIDI::ALSA::client('test',1,1,1);
MIDI::ALSA::connectfrom(0,'MidiSport 4x4:0');
MIDI::ALSA::connectto(1,'MidiSport 4x4:0');
MIDI::ALSA::start();
}
Basically I want to load a Linux only module and then execute a few module specific commands only on Linux, on Windows I want that section of the script to be ignored.
How do I make this work?