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\nLinux Linux of some sort\n\n"; do { chomp ($OS = ); 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"); }