В наши дни вы можете назначать файловые дескрипторы скалярам (а не использовать выражения (как это делает ваш пример)), поэтому вы можете просто создать массив и заполнить его этими значениями.
my @list_of_file_handles;
foreach my $filename (1..10) {
open my $fh, '>', '/path/to/' . $filename;
push $list_of_file_handles, $fh;
}
Вы, конечно, можете использовать переменные вместо этого, но это неприятный подход, и я никогда не видел время, когда использование массива или хэша было бы не лучшим выбором.