41 |
|
my $shell=shift; |
42 |
|
|
43 |
|
foreach $var ( @{$self->{'varlist'}} ) { |
44 |
< |
$self->_printoutenv($shell,$var,$self->getvalue($var)); |
44 |
> |
$self->_printoutenv($shell,$var, |
45 |
> |
$self->_expandvar($self->getvalue($var))); |
46 |
|
} |
47 |
|
} |
48 |
|
|
74 |
|
} |
75 |
|
|
76 |
|
# ---- Support Routines |
77 |
+ |
sub _expandvar { |
78 |
+ |
my $self=shift; |
79 |
+ |
my $string=shift; |
80 |
+ |
|
81 |
+ |
return "" , if ( ! defined $string ); |
82 |
+ |
$string=~s{ |
83 |
+ |
\$\((\w+)\) |
84 |
+ |
}{ |
85 |
+ |
if (defined $ENV{$1}) { |
86 |
+ |
$self->_expandvar($ENV{$1}); |
87 |
+ |
} else { |
88 |
+ |
"\$".$1; |
89 |
+ |
} |
90 |
+ |
}egx; |
91 |
+ |
$string=~s{ |
92 |
+ |
\$(\w+) |
93 |
+ |
}{ |
94 |
+ |
if (defined $ENV{$1}) { |
95 |
+ |
$self->_expandvar($ENV{$1}); |
96 |
+ |
} else { |
97 |
+ |
"\$".$1; |
98 |
+ |
} |
99 |
+ |
}egx; |
100 |
+ |
return $string; |
101 |
+ |
} |
102 |
+ |
|
103 |
|
sub _path { |
104 |
|
my $self=shift; |
105 |
|
my @vals=@_; |