in reply to Glob + list = list concatenation

Assuming no lines that evaulate as false,
my @list = (@values, <$filehandle>); while( my $line = shift @list) { ... my $another_line = shift @list; }
creates a list situable for iterating through. If you need to pull out various lines of <$filehandle> from the array, use splice:
my $file_line = splice @list, scalar @values + $line_num,1;
This will get the file line for you and remove it from the line array all at once.

Update: elaborated on my answer.

-Mark