http://www.perlmonks.org?node_id=487320


in reply to Re: Sort - can't
in thread Sort - can't

assuming you want to sort by category/title/number

#!/usr/bin/perl -w use strict; my @array = qw (biology_humananatomy_2 math_riemannhypothesis_1 biolog +y_humananatomy_1 ); my @AoA; for (@array) { push(@AoA,[split /\_/,$_,3]); } my @final = sort {$a->[0] cmp $b->[0] || $a->[1] cmp $b->[1] || $a->[2] <=> $b->[2]} @AoA; for (@final) { print join('_',@$_),$/; }

output:

biology_humananatomy_1 biology_humananatomy_2 math_riemannhypothesis_1

Please read other posts to understand why your code does not work.

cheers

SK