あなたはlittle bit nastyの何かをしようとしています。それを行う方法を教えてくれるのではなく、私は代替案を提案します。
あなたが一度開いて複数のファイルハンドルが必要な場合は、何が必要ハッシュです:
my %file_handle_for;
for my $i (1..$#genome_list) {
open ($file_handle_for{$i}, '<', "filename$i") or die $!;
}
次に、あなたが同じようにファイルにアクセスすることができます
print {$file_handle_for{$i}} "Some text\n";
または:
while (<{$file_handle_for{$i}}>) {
print;
}
など
これはもちろん、すべてのファイルを同時に開く必要があると仮定していますが、これは必要ない可能性があります。
上記は、変数を変数名として使用したい場合の一般的な解決方法です。
あなたのケースではそれを見ていますが、数字の順番で空白がないファイルを開いています。つまり、配列が適しています。
my @filehandle_for;
#note though - arrays start at zero normally, so you might be missing one here!
foreach my $number (1..$#genome_list) {
open ($filehandle_for[$number], '<', "filename$number") or die $!;
}
の可能性のある重複した[どのように私はPerlで変数名として変数を使用することができますか?](http://stackoverflow.com/questions/1549685/how-can-i-use-a-variable-as -a-variable-name-in-perl) –
これは間違いなく '1 .. $#genome_list'ですか?' @ genome_list'はおそらく '0'で始まるからです... – Sobrique