1cdf0e10cSrcweirpackage oshelper; 2cdf0e10cSrcweir 3*9780544fSAndrew Rist#************************************************************** 4*9780544fSAndrew Rist# 5*9780544fSAndrew Rist# Licensed to the Apache Software Foundation (ASF) under one 6*9780544fSAndrew Rist# or more contributor license agreements. See the NOTICE file 7*9780544fSAndrew Rist# distributed with this work for additional information 8*9780544fSAndrew Rist# regarding copyright ownership. The ASF licenses this file 9*9780544fSAndrew Rist# to you under the Apache License, Version 2.0 (the 10*9780544fSAndrew Rist# "License"); you may not use this file except in compliance 11*9780544fSAndrew Rist# with the License. You may obtain a copy of the License at 12*9780544fSAndrew Rist# 13*9780544fSAndrew Rist# http://www.apache.org/licenses/LICENSE-2.0 14*9780544fSAndrew Rist# 15*9780544fSAndrew Rist# Unless required by applicable law or agreed to in writing, 16*9780544fSAndrew Rist# software distributed under the License is distributed on an 17*9780544fSAndrew Rist# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18*9780544fSAndrew Rist# KIND, either express or implied. See the License for the 19*9780544fSAndrew Rist# specific language governing permissions and limitations 20*9780544fSAndrew Rist# under the License. 21*9780544fSAndrew Rist# 22*9780544fSAndrew Rist#************************************************************** 23*9780544fSAndrew Rist 24*9780544fSAndrew Rist 25cdf0e10cSrcweir 26cdf0e10cSrcweiruse English; 27cdf0e10cSrcweiruse warnings; 28cdf0e10cSrcweiruse strict; 29cdf0e10cSrcweir 30cdf0e10cSrcweirBEGIN { 31cdf0e10cSrcweir use Exporter (); 32cdf0e10cSrcweir our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); 33cdf0e10cSrcweir 34cdf0e10cSrcweir $VERSION = 1.00; 35cdf0e10cSrcweir # if using RCS/CVS, this may be preferred 36cdf0e10cSrcweir $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker 37cdf0e10cSrcweir @ISA = qw(Exporter); 38cdf0e10cSrcweir @EXPORT = qw(&getEnvironment &isWindowsEnvironment &isUnixEnvironment &getUsername); 39cdf0e10cSrcweir %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], 40cdf0e10cSrcweir # your exported package globals go here, 41cdf0e10cSrcweir # as well as any optionally exported functions 42cdf0e10cSrcweir @EXPORT_OK = ( ); # qw($Var1 %Hashit &func3); 43cdf0e10cSrcweir} 44cdf0e10cSrcweir 45cdf0e10cSrcweir 46cdf0e10cSrcweir# ------------------------------------------------------------------------------ 47cdf0e10cSrcweirsub getEnvironment() 48cdf0e10cSrcweir{ 49cdf0e10cSrcweir my $sEnvironment; 50cdf0e10cSrcweir if ($OSNAME eq "MSWin32" || $OSNAME eq "cygwin") 51cdf0e10cSrcweir { 52cdf0e10cSrcweir $sEnvironment = "wntmsci"; 53cdf0e10cSrcweir } 54cdf0e10cSrcweir elsif ( $OSNAME eq "linux") 55cdf0e10cSrcweir { 56cdf0e10cSrcweir $sEnvironment = "unxlngi"; 57cdf0e10cSrcweir } 58cdf0e10cSrcweir elsif ( $OSNAME eq "solaris") 59cdf0e10cSrcweir { 60cdf0e10cSrcweir $sEnvironment = "unxsoli"; 61cdf0e10cSrcweir } 62cdf0e10cSrcweir else 63cdf0e10cSrcweir { 64cdf0e10cSrcweir print "Unknown Environment please check OSNAME: '$OSNAME'\n"; 65cdf0e10cSrcweir $sEnvironment = "unknown"; 66cdf0e10cSrcweir } 67cdf0e10cSrcweir return $sEnvironment; 68cdf0e10cSrcweir} 69cdf0e10cSrcweir 70cdf0e10cSrcweir# ------------------------------------------------------------------------------ 71cdf0e10cSrcweir 72cdf0e10cSrcweirsub isWindowsEnvironment() 73cdf0e10cSrcweir{ 74cdf0e10cSrcweir if ($OSNAME eq "MSWin32" || 75cdf0e10cSrcweir $OSNAME eq "cygwin") 76cdf0e10cSrcweir { 77cdf0e10cSrcweir return 1; 78cdf0e10cSrcweir } 79cdf0e10cSrcweir return 0; 80cdf0e10cSrcweir} 81cdf0e10cSrcweir 82cdf0e10cSrcweirsub isUnixEnvironment() 83cdf0e10cSrcweir{ 84cdf0e10cSrcweir if ($OSNAME eq "linux" || 85cdf0e10cSrcweir $OSNAME eq "solaris") 86cdf0e10cSrcweir { 87cdf0e10cSrcweir return 1; 88cdf0e10cSrcweir } 89cdf0e10cSrcweir return 0; 90cdf0e10cSrcweir} 91cdf0e10cSrcweir 92cdf0e10cSrcweirsub getUsername() 93cdf0e10cSrcweir{ 94cdf0e10cSrcweir my $sUser = $ENV{USER}; 95cdf0e10cSrcweir if (!$sUser) 96cdf0e10cSrcweir { 97cdf0e10cSrcweir $sUser = $ENV{USERNAME}; 98cdf0e10cSrcweir } 99cdf0e10cSrcweir if (!$sUser) 100cdf0e10cSrcweir { 101cdf0e10cSrcweir die "Username not set.\n"; 102cdf0e10cSrcweir } 103cdf0e10cSrcweir return $sUser; 104cdf0e10cSrcweir} 105cdf0e10cSrcweir 106cdf0e10cSrcweir1; 107