[Date Prev][Date Next][Thread Prev][Thread Next]
[Search]
[Date Index]
[Thread Index]
Re: [MacPerl] Portable code
> I ported my program to the Mac and got it working, and then wrapped up the
> Mac specific stuff in a
>
> if ( $^O =~ /macos/i ) { Mac code }
>
> block. But when I move it to a UNIX box, the Mac 'use MacModule;'
> statements cause the program to die ('cause the UNIX box is missing them).
> How do I hide them from the interpreter when the program isn't running on
> a Mac?
I just wrote this:
BEGIN {
foreach (qw(TheModule Data::Dumper Mac::Nonexistent Mac::Windows)) {
$MOD_AVAIL{$_} = eval "use $_; 1";
}
}
Put it at the top of your program and put the modules you want inside
the qw() list. The hash %MOD_AVAIL will tell you whether a particular
module has been loaded.
--
Kevin Reid: | Macintosh:
"I'm me." | Think different.
===== Want to unsubscribe from this list?
===== Send mail with body "unsubscribe" to macperl-request@macperl.org