Short version (higher is better): Text::CSV_XS Text::CSV_PP ---------------------- ---------------- 0.23 0.25 0.43 0.65 1.00 1.06 1.19 ==== ==== ==== ==== ==== ==== ==== combine 1 70 67 98 96 15 15 14 combine 10 48 47 96 100 6 6 5 combine 100 40 40 96 99 5 5 4 parse 1 100 86 88 89 12 6 5 parse 10 100 98 93 91 8 3 3 parse 100 97 100 95 97 7 2 2 print io 87 86 94 99 79 6 5 getline io 64 64 93 100 - 2 1 ---- ---- ---- ---- ---- ---- ---- average 75 73 94 96 16 5 4