#!/usr/bin/perl -w use strict; use vars qw( @a @b ); open (INFILE, "/idtab.txt") or die $!; my @array = ; close (INFILE); my @sorted = map { $_->[0] } sort { $a->[1] <=> $b[1] or $b->[2] <=> $a[2] or $a->[3] <=> $b[3] } map {[$_,(split(/\t/,$_))[2,8,6]] } @array; print @sorted;