in reply to Need help with a script

You want something like this (untested):

my @sorted = sort {my @A = (split '\|', $a)[4, 5]; my @B = (split '\|', $b)[4, 5]; $A[0] cmp $B[0] || $A[1] <=> $B[1]} @unsorted;

Update: Fixed bug pointed out by chromatic below.

Replies are listed 'Best First'.
Re^2: Need help with a script
by chromatic (Archbishop) on May 27, 2011 at 18:02 UTC
    untested

    Trivial bug: splits first operand is a regular expression, not a string, so you need to escape the alternation metacharacter. I used to make that mistake all the time too.