use strict; use warnings; my @DataA = split /\n/, <[0] cmp $b->[0]} @merged; #### A "Monday" 325 908 "Jim" A "Monday" 423 383 "Sally" A "Monday" 993 421 "Jim" C "Wednesday" 426 907 "Mike" C "Wednesday" 737 432 "Mary"