use strict; use warnings; my $data = <) { chomp; push @rows, [split ',']; } close $inFile; print join (',', @$_), "\n" for sort mySort @rows; sub mySort { return $a->[1] <=> $b->[1] || $a->[3] <=> $b->[3] || $a->[2] <=> $b->[2] || $a->[0] <=> $b->[0]; } #### 4,1,2,3 1,2,3,4 2,3,4,1 3,4,4,2