foreach my $sentence(@sentences){ #$attribute and $values come from other subrutines push(@array, ($sentence, $attribute, $value)); } my $selected_order=1;#order according to $attribute sort { $a->[$selected_order] cmp $b->[$selected_order] } @array; print @array;