use Tie::File; use Fcntl 'O_RDONLY'; my @array; my $filename = '/etc/passwd'; tie @array, 'Tie::File', $filename, mode=>O_RDONLY or die; open NUMS, "line_num_file" or die; my @line_nums = map { s/\s+$//s; $_ } ; close NUMS; my @lines = @array[ @line_numes ];