use strict; use warnings; my $str = 'Lee Morgan : 20 Clifford Brown : 3 Freddie Hubbard : 6 '; my @data = map {[ split /\s+:\s+/, $_]} split /\n/, $str; for (sort { $a->[1] <=> $b->[1] } @data) { print join( ' : ', @$_ ), $/; } #### #### ####
## ##
##