in reply to Re: Modules and crossplatform code
in thread Modules and crossplatform code
if ($^O =~ /mswin/i) {# Windows code} elsif ($^O =~ /linux/i) {# linux code} elsif ($^O =~ /darwin/i){# mac code}
Your "use if" construct is intriguing... My script also uses different modules on different platforms. So far, I've been resorting to changing the code for each platform (I need to produce separate releases for other reasons anyway) becuse if ($^O =~ /mswin/i) {use module::name;}my $OS; if ($^O =~ /mswin/i) {$OS = "Windows";print "OS detected: Windows\n"} elsif ($^O =~ /linux/i) {$OS = "Linux";print "OS detected: Linux\n"} elsif ($^O =~ /darwin/i) {$OS = "Mac";print "OS detected: Mac OS X\n"} + else {print "\nUnable to detect OS type, choose your OS:\n\nWindows + Any version of Microsoft Windows\nMac Any flavour of Mac OS X\nLi +nux Linux of some sort\n\n"; do { chomp ($OS = <STDIN>); print "\nIncorrect OS type. Try again.\n\n" unless $OS eq "Windows" or + $OS eq "Mac" or $OS eq "Linux";} until ($OS eq "Windows" or $OS eq " +Mac" or $OS eq "Linux"); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Modules and crossplatform code
by dasgar (Priest) on Dec 06, 2010 at 17:05 UTC | |
by Khariton (Sexton) on Dec 06, 2010 at 20:04 UTC | |
|
Re^3: Modules and crossplatform code
by afoken (Chancellor) on Dec 07, 2010 at 10:55 UTC | |
by Corion (Patriarch) on Dec 07, 2010 at 11:25 UTC | |
by afoken (Chancellor) on Dec 07, 2010 at 12:55 UTC |