> 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