my $file = $q->upload('event_upload'); my $start_row = $q->param('row_start'); ## Toss out lines until we hit the specified start row if ($start_row) { for (1..$start_row) { my $garbage = <$file>; } } while (my $line = <$file>) { ### Do file stuff }