in reply to Re: Perl in a multi-platform environment
in thread Perl in a multi-platform environment

Perl already knows your OS, $^O.

And are you kidding me with that if/else travesty?

If a small scale change, use a hash of subroutine references to make dispatching easy.

If you have time, create a parent class and subclass out to each OS (again, if you really have to do different things on each OS).

use strict; my $os_dispatch = { linux => sub {print qq{Linux\n}}, solaris => sub {print qq{Solaris\n}}, aix => sub {print qq{AIX\n}}, freebsd => sub {print qq{FreeBSD\n}}, darwin => sub {print qq{MacOSX\n}}, unknown => sub {print qq{Unknown\n}}, }; if (exists $os_dispatch->{$^O}) { $os_dispatch->{$^O}->(); } else { $os_dispatch->{unknown}->(); }
Finally, do you really have to do that much OS specific stuff?