2015-06-08 166 views
0

我不斷收到類似Badly placed()'s的錯誤,我不明白爲什麼。「運行loc命令時出現錯誤()'錯誤

以下行給我這個打印

${tmp} = `${loc} ${"${type}_flag"} ${old_view_path}/${old_file} > ${tmpdir}/old_file`; 

我運行如下命令

system("${ct} startview ${new_view}"); 
system("${ct} startview ${old_view}"); 
${new_view_path} = "/view/${new_view}"; 
${old_view_path} = "/view/${old_view}"; 
${loc} = "/proj/uz/util/bin/loc"; 

@{file_types} =(); 
${file_type} = "Erlang"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"erl,hrl"; 
${"${file_type}_flag"} = "-erl"; 

${file_type} = "IDL"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"idl"; 
${"${file_type}_flag"} = "-erl"; 

${file_type} = "C"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"c,h"; 
${"${file_type}_flag"} = "-c"; 

${file_type} = "C++"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"cc, cpp, hh, hpp"; 
${"${file_type}_flag"} = "-c++"; 

${file_type} = "Assembler"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"s"; 
${"${file_type}_flag"} = "-c"; 

${file_type} = "Java"; 
push @{file_types},${file_type}; 
@{"${file_type}_ext"} = split /,/,"java,classes"; 
${"${file_type}_flag"} = "-c++"; 

foreach ${type} (@{file_types}){ 
    //The bellow give me sometimes error like badly placed()'s 
    ${tmp} = `${loc} ${"${type}_flag"} ${old_view_path}/${old_file} > ${tmpdir}/old_file`; 
} 

它顯然是與我${"${file_type}_flag"},但我不知道如何調試這個。我怎樣才能打印出它試圖執行的命令?

不要提及${old_file}${new_file}不存在。他們是形式nameOfFile.hnameOfFile.cpp

+1

@ikegami:該OP說:「我怎樣才能打印出來,它試圖執行命令」,所以它顯然沒有* *想到他們這樣做 – Borodin

+0

@Borodin,事實上,哎呀呀。 – ikegami

+0

上面的代碼存在一些非常主要的焦點問題,從動態生成變量名稱開始。 – ikegami

回答

0

上它顯然是與我${"${file_type}_flag"},但我不知道如何調試這一點。我怎樣才能打印出它試圖執行的命令?

With print,當然。

print(qq{${loc} ${"${type}_flag"} ${old_view_path}/${old_file} > ${tmpdir}/old_file\n}); 

warn將其發送至STDERR。

warn(qq{${loc} ${"${type}_flag"} ${old_view_path}/${old_file} > ${tmpdir}/old_file\n}); 
相關問題