作业帮 > 综合 > 作业

Perl编程问题,怎样替换对应的数字或者字符串?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 10:30:02
Perl编程问题,怎样替换对应的数字或者字符串?
我有两个文件1.txt和2.txt.
在1.txt中,有2列,第一列是元素名字,第二列是它对应的数字,但是有几百行.格式如下:
a(3)xvsd 1
bfsoek 2
arg 3
tya 4.等等
在2.txt中也有几百行,每一行都是由1.txt中的元素组成的序列例如:
a(3)xvsd-arg-bfsoek
arg-tya-arg-bfsoek
.
我现在要把2.txt中的序列,用1.txt中元素相对应的数字来替换该怎么做?
例如 1-3-2
3-4-3-2
my %data;
open f1,"1.txt" or die "Can't open F1";
while ( chomp ( my $line = ) ) {
$line s/\s+(\d+)$//;
$data{$line} = $1;
}
close f1;
open f2,"2.txt" or die "Can't open F2";
while ( chomp ( my $line = ) ) {
my @temp = split /-/,$line;
my $tempLine;
$tempLine .= $data{$_} ."-" foreach ( @temp );
chop $tempLine;
print $tempLine .$/;
}
close f2;