2013-06-25 50 views
1

我有以下代碼的Perl:代替標量與數組的元素爲該指數

#!/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 

回答

2

我想通了這一點。看起來我需要s/s([0-9])/s${prevjob[$1]}/;

$1而不是\1

+0

是,'\ 1'已被棄用。改用'$ 1'。 – shawnhcorey

相關問題