use strict; use warnings; my @FN = qw( a b ); for my $k (0..$#FN) { my $filename = <$FN[$k]>; print("$filename\n"); } #### a Use of uninitialized value in concatenation (.) or string at 689777.pl line 6. #### for (@FN) { while (defined(my $filename = glob($_))) { ... } } #### for my $filename (@FN) { ... } #### for (0..18, 20..28, 30..38) { my $filename = sprintf('out-02-%02d.txt', $_); ... }