一个变量问题

一个变量问题

文件a全部内容

$abc $a $b

文件b
abc=123
a=152
b=153

----------------

如何将文件a输出成
123 152 153 ?
1. 先把文件b读出来
2. 解析b得到各个变量的值
3. 把a读出来
4. eval a,或者用变量替换

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl

open FH, "b.txt";
while(<FH>) {
  chomp;
  next unless $_;
  ($key, $value) = split /\s*=\s*/;
  $b{$key} = $value;
}
close FH;
open FH, "a.txt";
$a = do {local $/; <FH>; };
close FH;
$a =~ s/\$(\w+)/$b{$1}/ge;
print $a;



QUOTE:
原帖由 odacharlee 于 2008-11-7 17:13 发表
1. 先把文件b读出来
2. 解析b得到各个变量的值
3. 把a读出来
4. eval a,或者用变量替换



#!/usr/bin/perl

open FH, "b.txt";
while() {
  chomp;
  next unless $_;
  ($key, $value) = split ...

学习一下


QUOTE:
原帖由 llvs 于 2008-11-7 16:53 发表
文件a全部内容

$abc $a $b

文件b
abc=123
a=152
b=153

----------------

如何将文件a输出成
123 152 153 ?

export $(cat b)
eval echo $(cat a)


QUOTE:
原帖由 ly5066113 于 2008-11-8 13:35 发表


export $(cat b)
eval echo $(cat a)

更要学习一下
谢谢