ここに私がやろうとしていることの例があります: 入力の名前を定義しておき、それが関数に取り込まれたときにのみそれを代用しますすべての3つの変数。 Perl:変数内の変数の文字列
$place_holder = 'f${file_case}_lalal_${subcase}_${test}';
....どこか別の関数で:
while(<IN>){
($file_case, $subcase, $tset) = split;
$input = $place_holder #### line #3 here needs to fix
print " $input \n";
}
残念ながら、それぞれ$ file_caseを表す線、$のサブケース、$テストの数字の3セットを含む読み込みファイル1行ごとにf $ {file_case} lalal $ {subcase} _ $ {test}を出力します。これらの変数を代用したい。どのようにすればいいですか? 行3を変更して私が望むように出力できるのはどうですか?私は、サブルーチンで入力名を定義したくないので、メインになければなりません。
高速かつ正確なノートであるので、モジュールは、二重引用符の補間を行い、Perlの組み込みCコードへのアクセスを提供します。この
のように、
String::Interpolate
モジュールを使用することがあります。補間は二重引用符で囲まれた文字列でのみ起こりますが、あなたの例は一重引用符で囲まれています。 –私は知っています。 $ place_holderはその時点で関数のように動作し、3つの変数はまだ分かっていません。したがって、置換されることはありません。しかし、$ place_holderは、ユーザーが好きなものに簡単に変更できる場所にある必要があります。残りの置換は、ユーザーが変更する必要のない関数に隠されています。 –