#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @sorted = map [ split /[()\s]+/ ], sort ; print Dumper \@sorted; __DATA__ 00000(IDR) 86480 22 41.435 40.696 40.728167 0 FRM 3 00015( B ) 9312 24 45.460 43.808 42.001 409 208 FRM 0 00002( P ) 35248 24 38.568 39.327 40.641 253 53 FRM 2