Perl:用该数组的元素替换标量

时间:2013-06-25 23:28:26

标签: regex arrays perl substitution

我有以下代码

    #!/bin/perl

    $prevjob[1]= 'PREVJOB1';
    $prevjob[2]= 'PREVJOB2';
    $prevjob[3]= 'PREVJOB3';
    $line[2]= '(s1&s3)|s2';
    if($line[2]) {
    #this will work for first replacement, but its not working,
            $line[2]=~ s/s([0-9])/s${prevjob[\1]}/;
            print $line[2];
    }

我想使用标量中的数字作为索引,并用@ prevjob在该索引处的元素替换该数字。

我想替换s/s([0-9])/s${prevjob[\1]}/ 我的预期输出是:

(sPREVJOB1&sPREVJOB3)|sPREVJOB2

1 个答案:

答案 0 :(得分:2)

我想出来了。看起来我需要s/s([0-9])/s${prevjob[$1]}/;

$1代替\1