一些我們在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