A conveyor system comprising: an infeed conveyor conveying packages at an infeed speed; a separation conveyor receiving the packages from the infeed conveyor and conveying the packages in a conveying direction at a separation speed greater than the infeed speed to separate consecutive packages across gaps; a sensor (24, 25) detecting the lengths of the packages in the conveying direction at a sensing position on the separation conveyor and producing a sensor signal indicative of the lengths of the packages and the gaps; a gapping conveyor receiving the packages from the separation conveyor and spacing the packages with a fixed gap length (g) or with a fixed pitch; a processing conveyor receiving the packages from the gapping conveyor and delivering the packages at a processing speed to a processing station; a controller receiving the sensor signal to compute the lengths of the packages and the gaps on the separation conveyor and making a speed adjustment to the infeed speed as a function of the lengths of the packages and the gaps; wherein the controller computes a string length along the separation conveyor occupied by a string of a predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages; and wherein either: (i) the controller adjusts the infeed speed as a function of the difference between the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages to a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages; or (ii) the controller computes the percent difference between (a) the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages and (b) a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages relative to the string length of the string along the processing conveyor and adjusts the infeed speed by that percentage an infeed conveyor conveying packages at an infeed speed; a separation conveyor receiving the packages from the infeed conveyor and conveying the packages in a conveying direction at a separation speed greater than the infeed speed to separate consecutive packages across gaps; a sensor (24, 25) detecting the lengths of the packages in the conveying direction at a sensing position on the separation conveyor and producing a sensor signal indicative of the lengths of the packages and the gaps; a gapping conveyor receiving the packages from the separation conveyor and spacing the packages with a fixed gap length (g) or with a fixed pitch; a processing conveyor receiving the packages from the gapping conveyor and delivering the packages at a processing speed to a processing station; a controller receiving the sensor signal to compute the lengths of the packages and the gaps on the separation conveyor and making a speed adjustment to the infeed speed as a function of the lengths of the packages and the gaps; wherein the controller computes a string length along the separation conveyor occupied by a string of a predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages; and wherein either: (i) the controller adjusts the infeed speed as a function of the difference between the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages to a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages; or (ii) the controller computes the percent difference between (a) the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages and (b) a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages relative to the string length of the string along the processing conveyor and adjusts the infeed speed by that percentage (i) the controller adjusts the infeed speed as a function of the difference between the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages to a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages; or (ii) the controller computes the percent difference between (a) the string length along the separation conveyor occupied by the string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages and (b) a string length along the processing conveyor occupied by a string of the predetermined number of consecutive packages and the gaps leading or trailing the consecutive packages relative to the string length of the string along the processing conveyor and adjusts the infeed speed by that percentage