#!/usr/bin/perl -w my @array = ( ['foo', 1, 'zot'], ['foo', 2, 'blahblah'], ['bar', 1, 'zot'], ['bar', 2, 'zot'], ['bat', 1, 'blahblah'], ['bat', 2, ''], ['baz', 1, ''], ['baz', 2, 'zot'], ); my @sorted; foreach my $array (@array){ ($array->[2] eq 'blahblah' ? unshift @sorted, $array : push @sorted, $array); }