Subversion Repositories DevTools

Rev

Rev 255 | Rev 263 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
227 dpurdie 1
########################################################################
2
# Copyright ( C ) 2006 ERG Limited, All rights reserved
3
#
261 dpurdie 4
# Module name   : JatsEnv.pm
5
# Module type   : Perl Module
6
# Compiler(s)   : Perl
7
# Environment(s): JATS
227 dpurdie 8
#
9
# Description   : Provide some misc environment functions
10
#
261 dpurdie 11
# Usage         : EnvImport (VarName);
12
#                 EnvImportOptional (VarName [, DefaultValue]);
227 dpurdie 13
#
14
#
15
#......................................................................#
16
 
255 dpurdie 17
require 5.006_001;
227 dpurdie 18
 
19
use strict;
20
use warnings;
21
use JatsError;
22
 
23
#-------------------------------------------------------------------------------
24
# Function        : EnvImport
25
#
261 dpurdie 26
# Description     : Import an environment variable into the global name space
227 dpurdie 27
#                   The user should have pre-declared the usage of the variable
261 dpurdie 28
#                   with an "our".
227 dpurdie 29
#
261 dpurdie 30
# Inputs          : Name of the environment variable to import
227 dpurdie 31
#
32
# Returns         : 1
33
#                   If the variable is not present then an error message is
261 dpurdie 34
#                   generated and the program will be terminated. The assumption
35
#                   is that the variable MUST be present.
227 dpurdie 36
#
37
sub EnvImport
38
{
39
    my( $EnvVar ) = @_;
40
 
261 dpurdie 41
    EnvImportOptional ( $EnvVar, undef );
227 dpurdie 42
 
43
    Error( "Environment Variable '$EnvVar' not defined." )
261 dpurdie 44
        unless( defined ${$main::{$EnvVar}} );
227 dpurdie 45
 
46
    return 1;
47
}
48
 
49
#-------------------------------------------------------------------------------
50
# Function        : EnvImportOptional
51
#
261 dpurdie 52
# Description     : Import an environment variable into the global name space
227 dpurdie 53
#                   The user should have pre-declared the usage of the variable
261 dpurdie 54
#                   with an "our".
227 dpurdie 55
#
56
#                   If no default value is provided and the variable does not
57
#                   exist in the environment, then result will be undefined
58
#
261 dpurdie 59
# Inputs          : Name of the environment variable to import
227 dpurdie 60
#                   Default value
61
#
62
# Returns         : 1
63
#
64
sub EnvImportOptional
65
{
66
    my( $EnvVar, $DefaultValue ) = @_;
67
 
261 dpurdie 68
    unless ( defined( ${$main::{$EnvVar}} ) ) {
227 dpurdie 69
 
261 dpurdie 70
        my $value = $ENV{ $EnvVar };
71
        $value = $DefaultValue unless ( defined $value );
72
        ${$main::{$EnvVar}} = $value;
227 dpurdie 73
    }
74
    return 1;
75
}
76
 
77
1;
78