Barcelona will be without captain Carles Puyol for up to eight weeks after he dislocated his elbow in Tuesday's Champions League win over Benfica.