#!/usr/bin/perl use strict; use warnings; use 5.016; chomp (my @data_lines = ); # Sort the data lines according to the "Company Name" field and then the "Invoice ID" field. @data_lines = sort { my ($company_name_a, $invoice_ID_a) = (split /\t/, $a)[1, 0]; my ($company_name_b, $invoice_ID_b) = (split /\t/, $b)[1, 0]; fc($company_name_a) cmp fc($company_name_b) or $invoice_ID_a <=> $invoice_ID_b } @data_lines; print "$_\n" for @data_lines; __DATA__ 1 SEBASTIAN COMMUNICATIONS 2 MASQUE SOUND 3 SEALEVEL SYSTEMS 4 MASSTECH, INC 5 SE INTERNATIONAL 6 SOUTHEAST SERVO, LLC 7 SEALEVEL SYSTEMS, INC. 8 MASTERBILT