一些我们在Unix的使用情况如下(只是一个例子)的环境变量:Perl和环境变量
VAR1=variable1
VAR2=variable2
VAR3=variable3
# and so on
现在,我有一个Perl脚本(我们称之为test.pl)
其内容界定的标签文本文件(我们称之为test.txt
),并将其中的内容逐列推入单独的数组中。第一列test.txt
包含以下信息(例如第一列中的字符串由/
分隔,但我不知道如何可能/
一个字符串将包含环境变量将出现在什么位置):
$VAR1/$VAR2/$VAR3
$VAR3/some_string/SOME_OTHER_STRING/and_so_on/$VAR2
$VAR2/$VAR1/some_string/some_string_2/some_string_3/some_string_n/$VAR2
脚本的提取物如下:
use strict;
my $input0 = shift or die "must provide test.txt as the argument 0\n";
open(IN0,"<",$input0) || die "Cannot open $input0 for reading: $!";
my @first_column;
while (<IN0>)
{
chomp;
my @cols = split(/\t/);
my $first_col = `eval $cols[0]`; #### but this does not work
# here goes the push stmt to populate the array
### more code here
}
close(IN0);
问:我如何可以访问的环境变量,在这种情况下,使填充该数组如下:
$first_column[0] = variable1/vraible2/variable3
$first_column[1] = variable3/some_string/SOME_OTHER_STRING/and_so_on/variable2
$first_column[2] = variable2/variable1/some_string/some_string_2/some_string_3/some_string_n/variable2
你的问题是没有意义的,请澄清..... – ennuikiller 2010-08-15 14:00:35
我已经展示样本输入和我已经显示了所需的结果。我还应该添加什么? – sachin 2010-08-15 14:02:09
你是否也允许像$ {VAR1:-foo}这样的单词的正常shell扩展或像$ {VAR1 // foo/bar}这样的复杂扩展(即bashisms)? – 2010-08-15 14:09:34